linux/drivers/staging/comedi
Ian Abbott a145928960 staging: comedi: ni_labpc: fix common detach
`labpc_common_detach()` calls `comedi_pci_disable()` unconditionally.
That's okay for PCI devices and harmless for ISA devices (as the
`hw_dev` member will be NULL so `comedi_to_pci_dev()` will return NULL
and `comedi_pci_disable()` checks for that), but it is disastrous for
PCMCIA devices.  Those are managed by the "ni_labpc_cs" module but it
calls this `labpc_common_detach()` and the `hw_dev` member will be
pointing to the `struct device` embedded in a `struct pcmcia_device` in
that case.  That's enough to confuse `comedi_pci_disable()` into
thinking it's a valid PCI device to be disabled.

Use the private board information (`thisboard`) to make sure it is a PCI
device before calling `comedi_pci_disable()`.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-03-15 09:17:21 -07:00
..
drivers staging: comedi: ni_labpc: fix common detach 2013-03-15 09:17:21 -07:00
kcomedilib staging: comedi: use comedi_dev_from_minor() 2013-01-07 14:25:46 -08:00
comedi_buf.c staging: comedi: comedi_buf: remove noise in comedi_buf_read_free() 2013-01-17 16:56:01 -08:00
comedi_compat32.c staging: comedi: Makefile: conditionally compile multi-file core module 2013-01-07 14:51:11 -08:00
comedi_compat32.h staging: comedi: shrink comedi_compat32.h 2012-06-20 12:57:43 -07:00
comedi_fops.c staging: comedi: make 'in_request_module' a bool bit-field 2013-03-15 09:16:31 -07:00
comedi_internal.h staging: comedi: remove 'comedi_autoconfig' module parameter 2013-02-05 11:22:08 -08:00
comedi_pci.c staging: comedi: add 'ioenabled' flag to device 2013-03-15 09:16:31 -07:00
comedi_pcmcia.c staging: comedi: comedi_pcmcia: allow drivers to use a custom conf_check() 2013-02-05 18:16:19 -08:00
comedi_usb.c staging: comedi: comedi_usb: allow comedi usb drivers to pass a 'context' 2013-02-05 18:07:11 -08:00
comedi.h staging: comedi: deprecate loading firmware with comedi_config 2013-01-17 16:51:46 -08:00
comedidev.h staging: comedi: add 'ioenabled' flag to device 2013-03-15 09:16:31 -07:00
comedilib.h
drivers.c staging: comedi: add 'ioenabled' flag to device 2013-03-15 09:16:31 -07:00
Kconfig staging: comedi: ni_660x: support NI PXI-6624 2013-03-15 09:12:25 -07:00
Makefile staging: comedi: conditionally build in PCMCIA driver support 2013-01-31 10:38:10 +01:00
proc.c staging: comedi: Makefile: conditionally compile multi-file core module 2013-01-07 14:51:11 -08:00
range.c staging: comedi: range: remove subdevice pointer math 2012-09-05 20:06:32 -07:00
TODO