The "ni_at_a2150" driver determines the board type by calling
`a2150_probe()`.  This reads a register and converts it to a board index
in the range 0 to 3.  However, the board table array it indexes into
(`a2150_boards[]`) only has 2 entries.  Return an error from the
Comedi driver "attach" handler `a2150_attach()` if the probed board
index is beyond the end of the array.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        if (ret)
                return ret;
 
-       dev->board_ptr = a2150_boards + a2150_probe(dev);
+       i = a2150_probe(dev);
+       if (i >= ARRAY_SIZE(a2150_boards))
+               return -ENODEV;
+
+       dev->board_ptr = a2150_boards + i;
        thisboard = comedi_board(dev);
        dev->board_name = thisboard->name;