diff options
author | Swen Schillig <swen@vnet.ibm.com> | 2010-01-14 11:19:01 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-01-17 13:40:12 -0500 |
commit | 491ca4426ba153f79e72d1ca2a30c926484282b7 (patch) | |
tree | 44ad459ae8fa2521632d5a7f0f74bdf52409003c /drivers/s390/scsi/zfcp_fc.c | |
parent | b8f08645f80a0c93246f3539ce53d3cae6a91fa0 (diff) |
[SCSI] zfcp: Introduce bsg_timeout callback.
Introduce a zfcp callback for timeouts triggered from FC BSG. With
zfcp, the underlying hardware cannot abort CT or ELS requests, so
there is nothing to do when the block layer timeout expires. To avoid
interference with the block layer timeout, simply indicate that the
block layer timer should be reset. The timer running in the hardware
for the pending CT or ELS request will return the request when it
expires.
Signed-off-by: Swen Schillig <swen@vnet.ibm.com>
Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/s390/scsi/zfcp_fc.c')
-rw-r--r-- | drivers/s390/scsi/zfcp_fc.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/s390/scsi/zfcp_fc.c b/drivers/s390/scsi/zfcp_fc.c index 81d4375aa50e..37a0ca200a32 100644 --- a/drivers/s390/scsi/zfcp_fc.c +++ b/drivers/s390/scsi/zfcp_fc.c | |||
@@ -788,6 +788,12 @@ int zfcp_fc_exec_bsg_job(struct fc_bsg_job *job) | |||
788 | } | 788 | } |
789 | } | 789 | } |
790 | 790 | ||
791 | int zfcp_fc_timeout_bsg_job(struct fc_bsg_job *job) | ||
792 | { | ||
793 | /* hardware tracks timeout, reset bsg timeout to not interfere */ | ||
794 | return -EAGAIN; | ||
795 | } | ||
796 | |||
791 | int zfcp_fc_gs_setup(struct zfcp_adapter *adapter) | 797 | int zfcp_fc_gs_setup(struct zfcp_adapter *adapter) |
792 | { | 798 | { |
793 | struct zfcp_fc_wka_ports *wka_ports; | 799 | struct zfcp_fc_wka_ports *wka_ports; |