[SCSI] iscsi: fix writepsace race
authorMike Christie <michaelc@cs.wisc.edu>
Tue, 30 May 2006 05:37:28 +0000 (00:37 -0500)
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>
Mon, 5 Jun 2006 23:12:25 +0000 (19:12 -0400)
commit3219e5294150aee7d389e19029f49b44fb6b5c9f
tree44236fd9f2eb40d5622cadb126e9f2672b129486
parent040515f53c09047c76ad074dc6a280984dc84b04
[SCSI] iscsi: fix writepsace race

We can race and misset the suspend bit if iscsi_write_space is
called then iscsi_send returns with a failure indicating
there is no space.

To handle this this patch returns a error upwards allowing xmitworker
to decide if we need to try and transmit again. For the no
write space case xmitworker will not retry, and instead
let iscsi_write_space queue it back up if needed (this relies
on the work queue code to properly requeue us if needed).

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/scsi/iscsi_tcp.c
drivers/scsi/libiscsi.c
include/scsi/scsi_transport_iscsi.h