On 26/08/14 00:04, H Hartley Sweeten wrote:
The comedi core does the sanity checking of the comedi_insn before calling the (*insn_write). Remove the unnecessary checks. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Cc: Ian Abbott <abbotti@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/staging/comedi/drivers/me4000.c | 33 ++------------------------------- 1 file changed, 2 insertions(+), 31 deletions(-) diff --git a/drivers/staging/comedi/drivers/me4000.c b/drivers/staging/comedi/drivers/me4000.c index 2cc5bec..d20b508 100644 --- a/drivers/staging/comedi/drivers/me4000.c +++ b/drivers/staging/comedi/drivers/me4000.c @@ -1188,44 +1188,15 @@ static irqreturn_t me4000_ai_isr(int irq, void *dev_id) return IRQ_HANDLED; } -/*============================================================================= - Analog output section - ===========================================================================*/ - static int me4000_ao_insn_write(struct comedi_device *dev, struct comedi_subdevice *s, - struct comedi_insn *insn, unsigned int *data) + struct comedi_insn *insn, + unsigned int *data) { - const struct me4000_board *thisboard = comedi_board(dev); struct me4000_info *info = dev->private; int chan = CR_CHAN(insn->chanspec); - int rang = CR_RANGE(insn->chanspec); - int aref = CR_AREF(insn->chanspec); unsigned int tmp; - if (insn->n == 0) { - return 0; - } else if (insn->n > 1) { - dev_err(dev->class_dev, "Invalid instruction length %d\n", - insn->n); - return -EINVAL; - } - - if (chan >= thisboard->ao_nchan) { - dev_err(dev->class_dev, "Invalid channel %d\n", insn->n); - return -EINVAL; - } - - if (rang != 0) { - dev_err(dev->class_dev, "Invalid range %d\n", insn->n); - return -EINVAL; - } - - if (aref != AREF_GROUND && aref != AREF_COMMON) { - dev_err(dev->class_dev, "Invalid aref %d\n", insn->n); - return -EINVAL; - } - /* Stop any running conversion */ tmp = inl(dev->iobase + ME4000_AO_CTRL_REG(chan)); tmp |= ME4000_AO_CTRL_BIT_IMMEDIATE_STOP;
I thought you might have updated this function to handle the insn->n > 1 case as well. Maybe in a follow-up patch?
-- -=( Ian Abbott @ MEV Ltd. E-mail: <abbotti@xxxxxxxxx> )=- -=( Tel: +44 (0)161 477 1898 FAX: +44 (0)161 718 3587 )=- _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel