The apci3120_ai_insn_config() function is broken in this driver. It does
not follow the comedi API and will fail to work correctly.

For now just remove the need for the boardinfo access to allow additional
cleanup. The 'i_NbrAiChannel' is actually the subdevice 'n_chan' use that
instead and remove the boardinfo access.

Signed-off-by: H Hartley Sweeten <hswee...@visionengravers.com>
Cc: Ian Abbott <abbo...@mev.co.uk>
Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org>
---
 drivers/staging/comedi/drivers/addi-data/hwdrv_apci3120.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3120.c 
b/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3120.c
index d764356..e120d62 100644
--- a/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3120.c
+++ b/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3120.c
@@ -246,7 +246,6 @@ static int apci3120_ai_insn_config(struct comedi_device 
*dev,
                                   struct comedi_insn *insn,
                                   unsigned int *data)
 {
-       const struct addi_board *this_board = dev->board_ptr;
        struct addi_private *devpriv = dev->private;
        unsigned int i;
 
@@ -261,8 +260,7 @@ static int apci3120_ai_insn_config(struct comedi_device 
*dev,
                /* Test the number of the channel */
                for (i = 0; i < data[3]; i++) {
 
-                       if (CR_CHAN(data[4 + i]) >=
-                               this_board->i_NbrAiChannel) {
+                       if (CR_CHAN(data[4 + i]) >= s->n_chan) {
                                dev_err(dev->class_dev, "bad channel list\n");
                                return -2;
                        }
-- 
2.0.3

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to