aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorGiridhar Malavali <giridhar.malavali@qlogic.com>2009-06-19 19:26:54 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2009-06-21 12:13:41 -0400
commit47e7e89ed029780adf2cc0cf506fcd4c2d5ca1e2 (patch)
tree7b3c8d852693c2ac586ffce8a8daf74b644a5bd1 /drivers/scsi
parentb5c6f77680f4ff1775838fcedfdd6026bf5ad777 (diff)
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')
-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 453d9e658eb6..140c50c8a5d2 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)
3480 } 3480 }
3481 3481
3482 /* the blk_end_sync_io() doesn't check the error */ 3482 /* the blk_end_sync_io() doesn't check the error */
3483 return BLK_EH_HANDLED; 3483 if (done)
3484 return BLK_EH_NOT_HANDLED;
3485 else
3486 return BLK_EH_HANDLED;
3484} 3487}
3485 3488
3486static int 3489static int