From f853d9ddf4867a4629753be4af7c5b98f7b7edd0 Mon Sep 17 00:00:00 2001 From: H Hartley Sweeten Date: Fri, 17 Aug 2012 18:21:12 -0700 Subject: [PATCH] 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 Cc: Ian Abbott Signed-off-by: Greg Kroah-Hartman --- drivers/staging/comedi/drivers/adv_pci_dio.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/staging/comedi/drivers/adv_pci_dio.c b/drivers/staging/comedi/drivers/adv_pci_dio.c index 4da0e7bd204..a4c1b13136b 100644 --- a/drivers/staging/comedi/drivers/adv_pci_dio.c +++ b/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) -- 2.41.0