aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/mpt2sas/mpt2sas_ctl.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/mpt2sas/mpt2sas_ctl.c')
-rw-r--r--drivers/scsi/mpt2sas/mpt2sas_ctl.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/scsi/mpt2sas/mpt2sas_ctl.c b/drivers/scsi/mpt2sas/mpt2sas_ctl.c
index 64254416a178..08685c4cf231 100644
--- a/drivers/scsi/mpt2sas/mpt2sas_ctl.c
+++ b/drivers/scsi/mpt2sas/mpt2sas_ctl.c
@@ -2181,10 +2181,12 @@ _ctl_ioctl_main(struct file *file, unsigned int cmd, void __user *arg,
2181 return -EAGAIN; 2181 return -EAGAIN;
2182 2182
2183 state = (file->f_flags & O_NONBLOCK) ? NON_BLOCKING : BLOCKING; 2183 state = (file->f_flags & O_NONBLOCK) ? NON_BLOCKING : BLOCKING;
2184 if (state == NON_BLOCKING && !mutex_trylock(&ioc->ctl_cmds.mutex)) 2184 if (state == NON_BLOCKING) {
2185 return -EAGAIN; 2185 if (!mutex_trylock(&ioc->ctl_cmds.mutex))
2186 else if (mutex_lock_interruptible(&ioc->ctl_cmds.mutex)) 2186 return -EAGAIN;
2187 } else if (mutex_lock_interruptible(&ioc->ctl_cmds.mutex)) {
2187 return -ERESTARTSYS; 2188 return -ERESTARTSYS;
2189 }
2188 2190
2189 switch (cmd) { 2191 switch (cmd) {
2190 case MPT2IOCINFO: 2192 case MPT2IOCINFO: