aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/ibmvscsi/ibmvfc.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/drivers/scsi/ibmvscsi/ibmvfc.c b/drivers/scsi/ibmvscsi/ibmvfc.c
index 696328699ec3..2c73b831544c 100644
--- a/drivers/scsi/ibmvscsi/ibmvfc.c
+++ b/drivers/scsi/ibmvscsi/ibmvfc.c
@@ -2064,12 +2064,24 @@ static int ibmvfc_eh_device_reset_handler(struct scsi_cmnd *cmd)
2064} 2064}
2065 2065
2066/** 2066/**
2067 * ibmvfc_dev_cancel_all - Device iterated cancel all function 2067 * ibmvfc_dev_cancel_all_abts - Device iterated cancel all function
2068 * @sdev: scsi device struct 2068 * @sdev: scsi device struct
2069 * @data: return code 2069 * @data: return code
2070 * 2070 *
2071 **/ 2071 **/
2072static void ibmvfc_dev_cancel_all(struct scsi_device *sdev, void *data) 2072static void ibmvfc_dev_cancel_all_abts(struct scsi_device *sdev, void *data)
2073{
2074 unsigned long *rc = data;
2075 *rc |= ibmvfc_cancel_all(sdev, IBMVFC_TMF_ABORT_TASK_SET);
2076}
2077
2078/**
2079 * ibmvfc_dev_cancel_all_reset - Device iterated cancel all function
2080 * @sdev: scsi device struct
2081 * @data: return code
2082 *
2083 **/
2084static void ibmvfc_dev_cancel_all_reset(struct scsi_device *sdev, void *data)
2073{ 2085{
2074 unsigned long *rc = data; 2086 unsigned long *rc = data;
2075 *rc |= ibmvfc_cancel_all(sdev, IBMVFC_TMF_TGT_RESET); 2087 *rc |= ibmvfc_cancel_all(sdev, IBMVFC_TMF_TGT_RESET);
@@ -2105,7 +2117,7 @@ static int ibmvfc_eh_target_reset_handler(struct scsi_cmnd *cmd)
2105 2117
2106 ENTER; 2118 ENTER;
2107 ibmvfc_wait_while_resetting(vhost); 2119 ibmvfc_wait_while_resetting(vhost);
2108 starget_for_each_device(starget, &cancel_rc, ibmvfc_dev_cancel_all); 2120 starget_for_each_device(starget, &cancel_rc, ibmvfc_dev_cancel_all_reset);
2109 reset_rc = ibmvfc_reset_device(sdev, IBMVFC_TARGET_RESET, "target"); 2121 reset_rc = ibmvfc_reset_device(sdev, IBMVFC_TARGET_RESET, "target");
2110 2122
2111 if (!cancel_rc && !reset_rc) 2123 if (!cancel_rc && !reset_rc)
@@ -2147,7 +2159,7 @@ static void ibmvfc_terminate_rport_io(struct fc_rport *rport)
2147 int rc = FAILED; 2159 int rc = FAILED;
2148 2160
2149 ENTER; 2161 ENTER;
2150 starget_for_each_device(starget, &cancel_rc, ibmvfc_dev_cancel_all); 2162 starget_for_each_device(starget, &cancel_rc, ibmvfc_dev_cancel_all_abts);
2151 starget_for_each_device(starget, &abort_rc, ibmvfc_dev_abort_all); 2163 starget_for_each_device(starget, &abort_rc, ibmvfc_dev_abort_all);
2152 2164
2153 if (!cancel_rc && !abort_rc) 2165 if (!cancel_rc && !abort_rc)