linux/drivers/staging
Ian Abbott a0419caba8 staging: comedi: amplc_pc236: fix invalid register access during detach
commit aaeb61a97b upstream.

`pc236_detach()` is called by the comedi core if it attempted to attach
a device and failed.  `pc236_detach()` calls `pc236_intr_disable()` if
the comedi device private data pointer (`devpriv`) is non-null.  This
test is insufficient as `pc236_intr_disable()` accesses hardware
registers and the attach routine may have failed before it has saved
their I/O base addresses.

Fix it by checking `dev->iobase` is non-zero before calling
`pc236_intr_disable()` as that means the I/O base addresses have been
saved and the hardware registers can be accessed.  It also implies the
comedi device private data pointer is valid, so there is no need to
check it.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-31 10:03:19 -07:00
..
android Staging: android: binder: Allow using highmem for binder buffers 2012-10-31 10:02:58 -07:00
asus_oled Documentation: remove references to /etc/modprobe.conf 2012-03-30 16:03:15 -07:00
bcm Staging: bcm: fix possible memory leak of 'pstAddIndication' in CmHost.c and removes a whitespace 2012-03-02 16:36:55 -08:00
comedi staging: comedi: amplc_pc236: fix invalid register access during detach 2012-10-31 10:03:19 -07:00
cptm1217
crystalhd Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
cxt1e1
echo
et131x Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
frontier Staging: frontier: Fix checkpatch.pl issue. 2012-02-24 12:03:12 -08:00
ft1000 Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
iio staging:iio:ad7606: Re-add missing scale attribute 2012-07-16 09:04:43 -07:00
keucr USB merge for 3.4-rc1 2012-03-20 11:26:30 -07:00
line6 staging: line6: separate handling of buffer allocation and stream startup 2012-02-09 09:14:35 -08:00
media media: lirc_sir: make device registration work 2012-10-02 10:30:36 -07:00
mei watchdog: fix set_timeout operations 2012-03-27 20:08:09 +02:00
nvec staging: nvec: Fix Kconfig dependencies 2012-01-31 10:28:00 -08:00
octeon staging: octeon-ethernet: fix build errors by including interrupt.h 2012-04-24 11:57:37 -07:00
olpc_dcon
omapdrm staging: drm/omap: move where DMM driver is registered 2012-04-10 09:19:29 -07:00
ozwpan staging: ozwpan: Fix bug where kfree is called twice. 2012-04-26 12:40:53 -07:00
panel Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
phison
quatech_usb2 USB: serial: quatech_usb2.c: use module_usb_serial_driver 2012-02-28 13:11:27 -08:00
quickstart Staging: quickstart: Fix compilation warning on 64 bit arch 2012-02-13 20:08:56 -08:00
ramster staging: ramster: unbreak my heart 2012-04-10 09:16:19 -07:00
rtl8187se usermodehelper: use UMH_WAIT_PROC consistently 2012-03-23 16:58:41 -07:00
rtl8192e usermodehelper: use UMH_WAIT_PROC consistently 2012-03-23 16:58:41 -07:00
rtl8192u Merge branch 'kmap_atomic' of git://github.com/congwang/linux 2012-03-21 09:40:26 -07:00
rtl8712 staging: r8712u: Do not queue cloned skb 2012-10-07 08:32:24 -07:00
rts_pstor Staging: rts_pstor: off by one in for loop 2012-04-10 09:18:59 -07:00
rts5139 staging: Update TODO for rts5139 and rts_pstor 2012-02-24 12:03:14 -08:00
sbe-2t3e3 Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
sep staging: sep: Fix sign of error 2012-04-10 09:14:39 -07:00
serial
serqt_usb2 USB: serial: serqt_usb2.c: use module_usb_serial_driver 2012-02-28 13:11:30 -08:00
slicoss staging: clean up Greg's email address in some TODO files 2012-02-15 14:45:40 -08:00
sm7xx includecheck: delete any duplicate instances of module.h 2012-02-28 19:31:56 -05:00
speakup staging: speakup_soft: Fix reading of init string 2012-10-07 08:32:23 -07:00
ste_rmi4 ARM: More device tree support updates 2012-03-28 12:34:33 -07:00
telephony Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
tidspbridge staging: tidspbridge: remove usage of OMAP2_L4_IO_ADDRESS 2012-04-24 11:57:36 -07:00
usbip Staging: usbip: Remove commented code. 2012-02-24 11:59:57 -08:00
vme staging/vme: Fix module parameters 2012-04-10 09:14:39 -07:00
vt6655 Staging: vt6655-6: check keysize before memcpy() 2012-04-10 09:17:34 -07:00
vt6656 staging: vt6656: [BUG] - Failed connection, incorrect endian. 2012-10-02 10:29:53 -07:00
winbond USB: winbond: remove __devinit* from the struct usb_device_id table 2012-09-14 10:00:06 -07:00
wlags49_h2 Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
wlags49_h25
wlan-ng Staging: wlan-ng: still setting wrong data 2012-02-29 15:55:52 -08:00
xgifb staging/xgifb: fix display on XGI Volari Z11m cards 2012-04-10 09:51:49 -07:00
zcache staging: zcache: fix cleancache race condition with shrinker 2012-10-02 10:29:53 -07:00
zram Merge branch 'kmap_atomic' of git://github.com/congwang/linux 2012-03-21 09:40:26 -07:00
zsmalloc staging: zsmalloc: Finish conversion to a separate module 2012-08-09 08:31:37 -07:00
Kconfig Merge branch 'drm-nouveau-destage' of git://people.freedesktop.org/~airlied/linux 2012-03-22 13:27:02 -07:00
Makefile staging: ozwpan: Plumbed in Kconfig and Kbuild 2012-02-24 09:29:24 -08:00
staging.c