[SCSI] libfc: fix race in SRR response
authorVasu Dev <vasu.dev@intel.com>
Mon, 16 May 2011 23:45:51 +0000 (16:45 -0700)
committerJames Bottomley <jbottomley@parallels.com>
Tue, 24 May 2011 16:37:15 +0000 (12:37 -0400)
commit0a219edb263ef93e4fd7a83804bea667e72a7bfa
tree4449e7bd98c46f3ab888a9ec7faedbc42e782024
parent8d23f4ba38f399a6169613c6f158e39691aa694f
[SCSI] libfc: fix race in SRR response

In this case fsp was freed before error handler was invoked,
this is fixed by having SRR fsp reference freed by exch
destructor so that fsp will be always held until it exch
is freed.

Also don't reset fsp->recov_seq since this is needed by
SRR error handler to do exch done.

Signed-off-by: Vasu Dev <vasu.dev@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <jbottomley@parallels.com>
drivers/scsi/libfc/fc_fcp.c