From 47e7e89ed029780adf2cc0cf506fcd4c2d5ca1e2 Mon Sep 17 00:00:00 2001 From: Giridhar Malavali Date: Fri, 19 Jun 2009 16:26:54 -0700 Subject: 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 Acked-by: FUJITA Tomonori Signed-off-by: James Bottomley --- drivers/scsi/scsi_transport_fc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'drivers/scsi') diff --git a/drivers/scsi/scsi_transport_fc.c b/drivers/scsi/scsi_transport_fc.c index 453d9e658eb..140c50c8a5d 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 -- cgit v1.2.3-70-g09d2