aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2012-04-20 07:46:27 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-04-20 11:32:45 -0400
commit8f9064a8a3b9f0dfd53bb0dfb3bbbfb457dda4bb (patch)
tree34ce202591fd9ac150ccbf79acea3c9cce2c0cbb
parent3fb95e564e535a1614f7cea1ac194f312eb0d2b8 (diff)
staging: comedi vmk80xx: lock held on error path
If the user passes an invalid command, then we don't drop the lock before returning. The check for invalid commands doesn't need to be done under lock so I moved it forward a couple lines. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/staging/comedi/drivers/vmk80xx.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/staging/comedi/drivers/vmk80xx.c b/drivers/staging/comedi/drivers/vmk80xx.c
index 10ac58d0cddd..856d0ea6007f 100644
--- a/drivers/staging/comedi/drivers/vmk80xx.c
+++ b/drivers/staging/comedi/drivers/vmk80xx.c
@@ -1020,12 +1020,12 @@ static int vmk80xx_cnt_cinsn(struct comedi_device *cdev,
1020 if (n) 1020 if (n)
1021 return n; 1021 return n;
1022 1022
1023 down(&dev->limit_sem);
1024
1025 insn_cmd = data[0]; 1023 insn_cmd = data[0];
1026 if (insn_cmd != INSN_CONFIG_RESET && insn_cmd != GPCT_RESET) 1024 if (insn_cmd != INSN_CONFIG_RESET && insn_cmd != GPCT_RESET)
1027 return -EINVAL; 1025 return -EINVAL;
1028 1026
1027 down(&dev->limit_sem);
1028
1029 chan = CR_CHAN(insn->chanspec); 1029 chan = CR_CHAN(insn->chanspec);
1030 1030
1031 if (dev->board.model == VMK8055_MODEL) { 1031 if (dev->board.model == VMK8055_MODEL) {