IB/srp: Make writing the add_target sysfs attr interruptible

Avoid that shutdown of srp_daemon is delayed if add_target_mutex is
held by another process.

Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
Bart Van Assche 2016-11-21 13:58:18 -08:00 committed by Doug Ledford
parent 290081b453
commit 4fa354c9db
1 changed files with 4 additions and 1 deletions

View File

@ -3299,7 +3299,9 @@ static ssize_t srp_create_target(struct device *dev,
*/
scsi_host_get(target->scsi_host);
mutex_lock(&host->add_target_mutex);
ret = mutex_lock_interruptible(&host->add_target_mutex);
if (ret < 0)
goto put;
ret = srp_parse_options(buf, target);
if (ret)
@ -3455,6 +3457,7 @@ connected:
out:
mutex_unlock(&host->add_target_mutex);
put:
scsi_host_put(target->scsi_host);
if (ret < 0)
scsi_host_put(target->scsi_host);