summaryrefslogtreecommitdiff
path: root/drivers/scsi/scsi_transport_fc.c
diff options
context:
space:
mode:
authorGiridhar Malavali <giridhar.malavali@qlogic.com>2009-06-19 23:26:54 (GMT)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2009-06-21 16:13:41 (GMT)
commit47e7e89ed029780adf2cc0cf506fcd4c2d5ca1e2 (patch)
tree7b3c8d852693c2ac586ffce8a8daf74b644a5bd1 /drivers/scsi/scsi_transport_fc.c
parentb5c6f77680f4ff1775838fcedfdd6026bf5ad777 (diff)
downloadlinux-47e7e89ed029780adf2cc0cf506fcd4c2d5ca1e2.tar.xz
fc_transport: Selective return value from BSG timeout function
The return value from BSG timout function should be based on the state of the BSG job. This helps block layer to take selective actions to clean up BSG job. Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com> Acked-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/scsi_transport_fc.c')
-rw-r--r--drivers/scsi/scsi_transport_fc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/scsi/scsi_transport_fc.c b/drivers/scsi/scsi_transport_fc.c
index 453d9e6..140c50c 100644
--- a/drivers/scsi/scsi_transport_fc.c
+++ b/drivers/scsi/scsi_transport_fc.c
@@ -3480,7 +3480,10 @@ fc_bsg_job_timeout(struct request *req)
}
/* the blk_end_sync_io() doesn't check the error */
- return BLK_EH_HANDLED;
+ if (done)
+ return BLK_EH_NOT_HANDLED;
+ else
+ return BLK_EH_HANDLED;
}
static int