Commit d18c5906 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

Staging: comedi: das1800.c: fix a locking error on the error path.

Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: Frank Mori Hess <fmhess@users.sourceforge.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent b74a9670
...@@ -1637,7 +1637,8 @@ static int das1800_ai_rinsn(struct comedi_device *dev, ...@@ -1637,7 +1637,8 @@ static int das1800_ai_rinsn(struct comedi_device *dev,
} }
if (i == timeout) { if (i == timeout) {
comedi_error(dev, "timeout"); comedi_error(dev, "timeout");
return -ETIME; n = -ETIME;
goto exit;
} }
dpnt = inw(dev->iobase + DAS1800_FIFO); dpnt = inw(dev->iobase + DAS1800_FIFO);
/* shift data to offset binary for bipolar ranges */ /* shift data to offset binary for bipolar ranges */
...@@ -1645,6 +1646,7 @@ static int das1800_ai_rinsn(struct comedi_device *dev, ...@@ -1645,6 +1646,7 @@ static int das1800_ai_rinsn(struct comedi_device *dev,
dpnt += 1 << (thisboard->resolution - 1); dpnt += 1 << (thisboard->resolution - 1);
data[n] = dpnt; data[n] = dpnt;
} }
exit:
spin_unlock_irqrestore(&dev->spinlock, irq_flags); spin_unlock_irqrestore(&dev->spinlock, irq_flags);
return n; return n;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment