diff options
-rw-r--r-- | drivers/scsi/ibmvscsi/ibmvscsi.c | 5 | ||||
-rw-r--r-- | drivers/scsi/ibmvscsi/ibmvscsi.h | 1 |
2 files changed, 5 insertions, 1 deletions
diff --git a/drivers/scsi/ibmvscsi/ibmvscsi.c b/drivers/scsi/ibmvscsi/ibmvscsi.c index 8df82c58e7b9..727c31dc11a0 100644 --- a/drivers/scsi/ibmvscsi/ibmvscsi.c +++ b/drivers/scsi/ibmvscsi/ibmvscsi.c | |||
@@ -1179,7 +1179,8 @@ static void login_rsp(struct srp_event_struct *evt_struct) | |||
1179 | be32_to_cpu(evt_struct->xfer_iu->srp.login_rsp.req_lim_delta)); | 1179 | be32_to_cpu(evt_struct->xfer_iu->srp.login_rsp.req_lim_delta)); |
1180 | 1180 | ||
1181 | /* If we had any pending I/Os, kick them */ | 1181 | /* If we had any pending I/Os, kick them */ |
1182 | scsi_unblock_requests(hostdata->host); | 1182 | hostdata->action = IBMVSCSI_HOST_ACTION_UNBLOCK; |
1183 | wake_up(&hostdata->work_wait_q); | ||
1183 | } | 1184 | } |
1184 | 1185 | ||
1185 | /** | 1186 | /** |
@@ -2123,6 +2124,7 @@ static void ibmvscsi_do_work(struct ibmvscsi_host_data *hostdata) | |||
2123 | spin_lock_irqsave(hostdata->host->host_lock, flags); | 2124 | spin_lock_irqsave(hostdata->host->host_lock, flags); |
2124 | switch (hostdata->action) { | 2125 | switch (hostdata->action) { |
2125 | case IBMVSCSI_HOST_ACTION_NONE: | 2126 | case IBMVSCSI_HOST_ACTION_NONE: |
2127 | case IBMVSCSI_HOST_ACTION_UNBLOCK: | ||
2126 | break; | 2128 | break; |
2127 | case IBMVSCSI_HOST_ACTION_RESET: | 2129 | case IBMVSCSI_HOST_ACTION_RESET: |
2128 | spin_unlock_irqrestore(hostdata->host->host_lock, flags); | 2130 | spin_unlock_irqrestore(hostdata->host->host_lock, flags); |
@@ -2164,6 +2166,7 @@ static int __ibmvscsi_work_to_do(struct ibmvscsi_host_data *hostdata) | |||
2164 | return 0; | 2166 | return 0; |
2165 | case IBMVSCSI_HOST_ACTION_RESET: | 2167 | case IBMVSCSI_HOST_ACTION_RESET: |
2166 | case IBMVSCSI_HOST_ACTION_REENABLE: | 2168 | case IBMVSCSI_HOST_ACTION_REENABLE: |
2169 | case IBMVSCSI_HOST_ACTION_UNBLOCK: | ||
2167 | default: | 2170 | default: |
2168 | break; | 2171 | break; |
2169 | } | 2172 | } |
diff --git a/drivers/scsi/ibmvscsi/ibmvscsi.h b/drivers/scsi/ibmvscsi/ibmvscsi.h index 04bcbc832dc9..d9bf502334ba 100644 --- a/drivers/scsi/ibmvscsi/ibmvscsi.h +++ b/drivers/scsi/ibmvscsi/ibmvscsi.h | |||
@@ -92,6 +92,7 @@ enum ibmvscsi_host_action { | |||
92 | IBMVSCSI_HOST_ACTION_NONE = 0, | 92 | IBMVSCSI_HOST_ACTION_NONE = 0, |
93 | IBMVSCSI_HOST_ACTION_RESET, | 93 | IBMVSCSI_HOST_ACTION_RESET, |
94 | IBMVSCSI_HOST_ACTION_REENABLE, | 94 | IBMVSCSI_HOST_ACTION_REENABLE, |
95 | IBMVSCSI_HOST_ACTION_UNBLOCK, | ||
95 | }; | 96 | }; |
96 | 97 | ||
97 | /* all driver data associated with a host adapter */ | 98 | /* all driver data associated with a host adapter */ |