• Erez Zilber's avatar
    IB/iser: Don't defer connection failure notification to workqueue · 1d426d64
    Erez Zilber authored
    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: default avatarErez Zilber <erezz@voltaire.com>
    Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
    1d426d64
iser_verbs.c 21.7 KB