staging: comedi: s626: fix async command hookup
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Tue, 3 Dec 2013 19:07:10 +0000 (12:07 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Dec 2013 23:25:30 +0000 (15:25 -0800)
Only set the SDF_CMD_READ subdev_flag if the irq was sucessfully
requested.

Remove the unnecessary sanity check of dev->irq in s626_ai_cmd().
This callback is only hooked up if the irq is available.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/s626.c

index 6d26623..5835838 100644 (file)
@@ -2079,12 +2079,6 @@ static int s626_ai_cmd(struct comedi_device *dev, struct comedi_subdevice *s)
        if (cmd == NULL)
                return -EINVAL;
 
-       if (dev->irq == 0) {
-               comedi_error(dev,
-                            "s626_ai_cmd: cannot run command without an irq");
-               return -EIO;
-       }
-
        s626_ai_load_polllist(ppl, cmd);
        devpriv->ai_cmd_running = 1;
        devpriv->ai_convert_count = 0;
@@ -2833,7 +2827,7 @@ static int s626_auto_attach(struct comedi_device *dev,
        s = &dev->subdevices[0];
        /* analog input subdevice */
        s->type         = COMEDI_SUBD_AI;
-       s->subdev_flags = SDF_READABLE | SDF_DIFF | SDF_CMD_READ;
+       s->subdev_flags = SDF_READABLE | SDF_DIFF;
        s->n_chan       = S626_ADC_CHANNELS;
        s->maxdata      = 0x3fff;
        s->range_table  = &s626_range_table;
@@ -2841,6 +2835,7 @@ static int s626_auto_attach(struct comedi_device *dev,
        s->insn_read    = s626_ai_insn_read;
        if (dev->irq) {
                dev->read_subdev = s;
+               s->subdev_flags |= SDF_CMD_READ;
                s->do_cmd       = s626_ai_cmd;
                s->do_cmdtest   = s626_ai_cmdtest;
                s->cancel       = s626_ai_cancel;