summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/libfc/fc_fcp.c
diff options
context:
space:
mode:
authorBart Van Assche <bvanassche@acm.org>2013-08-17 20:34:43 +0000
committerRobert Love <robert.w.love@intel.com>2013-09-04 13:45:22 -0700
commit7030fd626129ec4d616784516a462d317c251d39 (patch)
treecd9a65fa2d45e6397ba1620846dc4c9359638df4 /drivers/scsi/libfc/fc_fcp.c
parentf95b35cfcacadac16dbc5477fd22b0786256a3d1 (diff)
downloadop-kernel-dev-7030fd626129ec4d616784516a462d317c251d39.zip
op-kernel-dev-7030fd626129ec4d616784516a462d317c251d39.tar.gz
libfc: Do not invoke the response handler after fc_exch_done()
While the FCoE initiator driver invokes fc_exch_done() from inside the libfc response handler, FCoE target drivers typically invoke fc_exch_done() from outside the libfc response handler. The object fc_exch.arg points at may disappear as soon as fc_exch_done() has finished. So it's important not to invoke the response handler function after fc_exch_done() has finished. Modify libfc such that this guarantee is provided if fc_exch_done() is invoked from outside a response handler. This patch fixes a sporadic crash in FCoE target implementations after a command has been aborted. Signed-off-by: Bart Van Assche <bvanassche@acm.org> Cc: Neil Horman <nhorman@tuxdriver.com> Signed-off-by: Robert Love <robert.w.love@intel.com>
Diffstat (limited to 'drivers/scsi/libfc/fc_fcp.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud