Browse Source

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>
H Hartley Sweeten 13 years ago
parent
commit
f853d9ddf4
1 changed files with 2 additions and 0 deletions
  1. 2 0
      drivers/staging/comedi/drivers/adv_pci_dio.c

+ 2 - 0
drivers/staging/comedi/drivers/adv_pci_dio.c

@@ -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)