From: H Hartley Sweeten Date: Tue, 3 Dec 2013 19:07:10 +0000 (-0700) Subject: staging: comedi: s626: fix async command hookup X-Git-Tag: firefly_0821_release~176^2~4489^2~586 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=f95321f33af8b75cce171ba18e5fa04ed1fcb88f;p=firefly-linux-kernel-4.4.55.git staging: comedi: s626: fix async command hookup 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 Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/comedi/drivers/s626.c b/drivers/staging/comedi/drivers/s626.c index 6d266235ae4f..583583854dca 100644 --- a/drivers/staging/comedi/drivers/s626.c +++ b/drivers/staging/comedi/drivers/s626.c @@ -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;