lkml.org 
[lkml]   [2020]   [Nov]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.9 382/391] staging: comedi: cb_pcidas: Allow 2-channel commands for AO subdevice
    Date
    From: Ian Abbott <abbotti@mev.co.uk>

    commit 647a6002cb41d358d9ac5de101a8a6dc74748a59 upstream.

    The "cb_pcidas" driver supports asynchronous commands on the analog
    output (AO) subdevice for those boards that have an AO FIFO. The code
    (in `cb_pcidas_ao_check_chanlist()` and `cb_pcidas_ao_cmd()`) to
    validate and set up the command supports output to a single channel or
    to two channels simultaneously (the boards have two AO channels).
    However, the code in `cb_pcidas_auto_attach()` that initializes the
    subdevices neglects to initialize the AO subdevice's `len_chanlist`
    member, leaving it set to 0, but the Comedi core will "correct" it to 1
    if the driver neglected to set it. This limits commands to use a single
    channel (either channel 0 or 1), but the limit should be two channels.
    Set the AO subdevice's `len_chanlist` member to be the same value as the
    `n_chan` member, which will be 2.

    Cc: <stable@vger.kernel.org>
    Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
    Link: https://lore.kernel.org/r/20201021122142.81628-1-abbotti@mev.co.uk
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/staging/comedi/drivers/cb_pcidas.c | 1 +
    1 file changed, 1 insertion(+)

    --- a/drivers/staging/comedi/drivers/cb_pcidas.c
    +++ b/drivers/staging/comedi/drivers/cb_pcidas.c
    @@ -1342,6 +1342,7 @@ static int cb_pcidas_auto_attach(struct
    if (dev->irq && board->has_ao_fifo) {
    dev->write_subdev = s;
    s->subdev_flags |= SDF_CMD_WRITE;
    + s->len_chanlist = s->n_chan;
    s->do_cmdtest = cb_pcidas_ao_cmdtest;
    s->do_cmd = cb_pcidas_ao_cmd;
    s->cancel = cb_pcidas_ao_cancel;

    \
     
     \ /
      Last update: 2020-11-03 22:46    [W:4.017 / U:0.212 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site