staging: comedi: adv_pci_dio: fix bug in 'detach'

The 'attach' function can fail between when the devpriv and
the comedi subdevices are allocated. If it does the 'detach'
will try to access unallocated memory when it goes thru the
subdevices.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
H Hartley Sweeten 2012-08-17 18:21:12 -07:00 committed by Greg Kroah-Hartman
parent cb448d6572
commit f853d9ddf4

View file

@ -1184,6 +1184,8 @@ static void pci_dio_detach(struct comedi_device *dev)
if (devpriv) {
if (devpriv->valid)
pci_dio_reset(dev);
}
if (dev->subdevices) {
for (i = 0; i < dev->n_subdevices; i++) {
s = dev->subdevices + i;
if (s->type == COMEDI_SUBD_DIO)