]> git.baikalelectronics.ru Git - kernel.git/commit
IB/iser: Don't defer connection failure notification to workqueue
authorErez Zilber <erezz@voltaire.com>
Sun, 1 Apr 2007 10:53:43 +0000 (12:53 +0200)
committerRoland Dreier <rolandd@cisco.com>
Thu, 5 Apr 2007 16:46:04 +0000 (09:46 -0700)
commit54609cb41021ada35273080393aaa475841b19d6
tree488d9f534a5496975a36b33237f05b127c42ec23
parent87d7ed6f4ddea0200d5c19b20ce538c71e5334ef
IB/iser: Don't defer connection failure notification to workqueue

When a connection is terminated asynchronously from the iSCSI layer's
perspective, iSER needs to notify the iSCSI layer that the connection
has failed.  This is done using a workqueue (switched to from the iSER
tasklet context).  Meanwhile, the connection object (that holds the
work struct) is released.  If the workqueue function wasn't called
yet, it will be called later with a NULL pointer, which will crash the
kernel.

The context switch (tasklet to workqueue) is not required, and
everything can be done from the iSER tasklet. This eliminates the NULL
work struct bug (and simplifies the code).

Signed-off-by: Erez Zilber <erezz@voltaire.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/ulp/iser/iscsi_iser.h
drivers/infiniband/ulp/iser/iser_verbs.c