staging: comedi: daqboard2000: bug fix board type matching code
authorIan Abbott <abbotti@mev.co.uk>
Wed, 29 Jun 2016 19:27:44 +0000 (20:27 +0100)
committerSasha Levin <alexander.levin@verizon.com>
Mon, 12 Sep 2016 22:59:30 +0000 (18:59 -0400)
[ Upstream commit 80e162ee9b31d77d851b10f8c5299132be1e120f ]

`daqboard2000_find_boardinfo()` is supposed to check if the
DaqBoard/2000 series model is supported, based on the PCI subvendor and
subdevice ID.  The current code is wrong as it is comparing the PCI
device's subdevice ID to an expected, fixed value for the subvendor ID.
It should be comparing the PCI device's subvendor ID to this fixed
value.  Correct it.

Fixes: 7e8401b23e7f ("staging: comedi: daqboard2000: add back
subsystem_device check")
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Cc: <stable@vger.kernel.org> # 3.7+
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
drivers/staging/comedi/drivers/daqboard2000.c

index e5b5a8133b340b736291ba6ad440ba84b9b9d573..55cfc34bd18700a29862ac718cf565962d943439 100644 (file)
@@ -637,7 +637,7 @@ static const void *daqboard2000_find_boardinfo(struct comedi_device *dev,
        const struct daq200_boardtype *board;
        int i;
 
-       if (pcidev->subsystem_device != PCI_VENDOR_ID_IOTECH)
+       if (pcidev->subsystem_vendor != PCI_VENDOR_ID_IOTECH)
                return NULL;
 
        for (i = 0; i < ARRAY_SIZE(boardtypes); i++) {