Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 249752
b: refs/heads/master
c: 587e500
h: refs/heads/master
v: v3
  • Loading branch information
J. Ali Harlow authored and Greg Kroah-Hartman committed May 18, 2011
1 parent 93da284 commit 967d071
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 28 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 311fda8e8b495e026fa1d24d9d5a211fc8be2aef
refs/heads/master: 587e500c40aef11163bf09d367b5c3b3aba820cc
78 changes: 51 additions & 27 deletions trunk/drivers/staging/comedi/drivers/vmk80xx.c
Original file line number Diff line number Diff line change
Expand Up @@ -557,22 +557,24 @@ static int vmk80xx_write_packet(struct vmk80xx_usb *dev, int cmd)
#define DIR_IN 1
#define DIR_OUT 2

#define rudimentary_check(dir) \
do { \
if (!dev) \
return -EFAULT; \
if (!dev->probed) \
return -ENODEV; \
if (!dev->attached) \
return -ENODEV; \
if ((dir) & DIR_IN) { \
if (test_bit(TRANS_IN_BUSY, &dev->flags)) \
return -EBUSY; \
} else { /* DIR_OUT */ \
if (test_bit(TRANS_OUT_BUSY, &dev->flags)) \
return -EBUSY; \
} \
} while (0)
static int rudimentary_check(struct vmk80xx_usb *dev, int dir)
{
if (!dev)
return -EFAULT;
if (!dev->probed)
return -ENODEV;
if (!dev->attached)
return -ENODEV;
if (dir & DIR_IN) {
if (test_bit(TRANS_IN_BUSY, &dev->flags))
return -EBUSY;
} else { /* DIR_OUT */
if (test_bit(TRANS_OUT_BUSY, &dev->flags))
return -EBUSY;
}

return 0;
}

static int vmk80xx_ai_rinsn(struct comedi_device *cdev,
struct comedi_subdevice *s,
Expand All @@ -585,7 +587,9 @@ static int vmk80xx_ai_rinsn(struct comedi_device *cdev,

dbgvm("vmk80xx: %s\n", __func__);

rudimentary_check(DIR_IN);
n = rudimentary_check(dev, DIR_IN);
if (n)
return n;

down(&dev->limit_sem);
chan = CR_CHAN(insn->chanspec);
Expand Down Expand Up @@ -636,7 +640,9 @@ static int vmk80xx_ao_winsn(struct comedi_device *cdev,

dbgvm("vmk80xx: %s\n", __func__);

rudimentary_check(DIR_OUT);
n = rudimentary_check(dev, DIR_OUT);
if (n)
return n;

down(&dev->limit_sem);
chan = CR_CHAN(insn->chanspec);
Expand Down Expand Up @@ -679,7 +685,9 @@ static int vmk80xx_ao_rinsn(struct comedi_device *cdev,

dbgvm("vmk80xx: %s\n", __func__);

rudimentary_check(DIR_IN);
n = rudimentary_check(dev, DIR_IN);
if (n)
return n;

down(&dev->limit_sem);
chan = CR_CHAN(insn->chanspec);
Expand Down Expand Up @@ -713,7 +721,9 @@ static int vmk80xx_di_rinsn(struct comedi_device *cdev,

dbgvm("vmk80xx: %s\n", __func__);

rudimentary_check(DIR_IN);
n = rudimentary_check(dev, DIR_IN);
if (n)
return n;

down(&dev->limit_sem);
chan = CR_CHAN(insn->chanspec);
Expand Down Expand Up @@ -758,7 +768,9 @@ static int vmk80xx_do_winsn(struct comedi_device *cdev,

dbgvm("vmk80xx: %s\n", __func__);

rudimentary_check(DIR_OUT);
n = rudimentary_check(dev, DIR_OUT);
if (n)
return n;

down(&dev->limit_sem);
chan = CR_CHAN(insn->chanspec);
Expand Down Expand Up @@ -805,7 +817,9 @@ static int vmk80xx_do_rinsn(struct comedi_device *cdev,

dbgvm("vmk80xx: %s\n", __func__);

rudimentary_check(DIR_IN);
n = rudimentary_check(dev, DIR_IN);
if (n)
return n;

down(&dev->limit_sem);
chan = CR_CHAN(insn->chanspec);
Expand Down Expand Up @@ -838,7 +852,9 @@ static int vmk80xx_cnt_rinsn(struct comedi_device *cdev,

dbgvm("vmk80xx: %s\n", __func__);

rudimentary_check(DIR_IN);
n = rudimentary_check(dev, DIR_IN);
if (n)
return n;

down(&dev->limit_sem);
chan = CR_CHAN(insn->chanspec);
Expand Down Expand Up @@ -886,7 +902,9 @@ static int vmk80xx_cnt_cinsn(struct comedi_device *cdev,

dbgvm("vmk80xx: %s\n", __func__);

rudimentary_check(DIR_OUT);
n = rudimentary_check(dev, DIR_OUT);
if (n)
return n;

down(&dev->limit_sem);

Expand Down Expand Up @@ -932,7 +950,9 @@ static int vmk80xx_cnt_winsn(struct comedi_device *cdev,

dbgvm("vmk80xx: %s\n", __func__);

rudimentary_check(DIR_OUT);
n = rudimentary_check(dev, DIR_OUT);
if (n)
return n;

down(&dev->limit_sem);
chan = CR_CHAN(insn->chanspec);
Expand Down Expand Up @@ -976,7 +996,9 @@ static int vmk80xx_pwm_rinsn(struct comedi_device *cdev,

dbgvm("vmk80xx: %s\n", __func__);

rudimentary_check(DIR_IN);
n = rudimentary_check(dev, DIR_IN);
if (n)
return n;

down(&dev->limit_sem);

Expand Down Expand Up @@ -1009,7 +1031,9 @@ static int vmk80xx_pwm_winsn(struct comedi_device *cdev,

dbgvm("vmk80xx: %s\n", __func__);

rudimentary_check(DIR_OUT);
n = rudimentary_check(dev, DIR_OUT);
if (n)
return n;

down(&dev->limit_sem);

Expand Down

0 comments on commit 967d071

Please sign in to comment.