summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/ibmvscsi/ibmvscsi.c5
-rw-r--r--drivers/scsi/ibmvscsi/ibmvscsi.h1
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 */