zfcp fixes for 2.6.28-rc6: missing patch
Subsystems (3)
cover zfcp fixes for 2.6.28-rc6: missing patch
James,
this fix should be part of yesterday's patch series for 2.6.28-rc6, but it fell through some holes. It applies cleanly on top of the patch series, please also include this fix.
thanks,
Christof
PATCH 1/1 zfcp: prevent double decrement on host_busy while being busy
From: Swen Schillig <[email protected]>
The zfcp_scsi_queuecommand was not acting according to the standard when the respective unit was not available. In this case an -EBUSY was returned, which is not valid in itself, and in addition scsi_done was called. This combination is not allowed and was leading to a double finish of the request and therefor double decrement of the host_busy counter.
Signed-off-by Swen Schillig <[email protected]>
Signed-off-by Christof Schmitt <[email protected]>
---
drivers/s390/scsi/zfcp_scsi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/s390/scsi/zfcp_scsi.c +1 -1
@@ -88,7 +88,7 @@ static int zfcp_scsi_queuecommand(struct ret =zfcp_fsf_send_fcp_command_task (adapter, unit, scpnt,0 ,ZFCP_REQ_AUTO_CLEANUP );if (unlikely (ret == -EBUSY )) -zfcp_scsi_command_fail (scpnt,DID_NO_CONNECT ); +return SCSI_MLQUEUE_DEVICE_BUSY ;else if (unlikely (ret <0 ))return SCSI_MLQUEUE_HOST_BUSY ;