diff options
Diffstat (limited to 'drivers/target/iscsi/iscsi_target.c')
| -rw-r--r-- | drivers/target/iscsi/iscsi_target.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/target/iscsi/iscsi_target.c b/drivers/target/iscsi/iscsi_target.c index d6ce2182e67..035c2c76253 100644 --- a/drivers/target/iscsi/iscsi_target.c +++ b/drivers/target/iscsi/iscsi_target.c @@ -3719,7 +3719,9 @@ restart:  		 */  		iscsit_thread_check_cpumask(conn, current, 1); -		schedule_timeout_interruptible(MAX_SCHEDULE_TIMEOUT); +		wait_event_interruptible(conn->queues_wq, +					 !iscsit_conn_all_queues_empty(conn) || +					 ts->status == ISCSI_THREAD_SET_RESET);  		if ((ts->status == ISCSI_THREAD_SET_RESET) ||  		     signal_pending(current))  |