staging: comedi: ni_mio_common: (*cancel) only works with async cmd support
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Mon, 14 Jul 2014 19:23:54 +0000 (12:23 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 16 Jul 2014 20:24:43 +0000 (13:24 -0700)
The comedi subdevice (*cancel) function can only be called by the core if the
subdevice supports async commands. Move the initialization of this callback
to it is only set if async commands are enabled.

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

index 8303d66..2ab267b 100644 (file)
@@ -5559,11 +5559,11 @@ static int ni_E_init(struct comedi_device *dev,
                        s->subdev_flags |= SDF_CMD_WRITE;
                        s->do_cmd = &ni_ao_cmd;
                        s->do_cmdtest = &ni_ao_cmdtest;
+                       s->cancel = &ni_ao_reset;
                        s->len_chanlist = board->n_aochan;
                        if (!devpriv->is_m_series)
                                s->munge = ni_ao_munge;
                }
-               s->cancel = &ni_ao_reset;
        } else {
                s->type = COMEDI_SUBD_UNUSED;
        }