9b28500a59
The set_use_inc() and set_use_dec() functions tried to lock the underlying bridge driver device instance in memory by changing the use count on the device's i2c_clients. This worked for PCI devices (ivtv, cx18, bttv). It doesn't work for hot-pluggable usb devices (pvrusb2 and hdpvr). With usb device instances, the driver may get locked into memory, but the unplugged hardware is gone. The set_use_inc() set_use_dec() functions also tried to have lirc_zilog change its own module refernce count, which is racy and not guaranteed to work. The lirc_dev module does actually perform proper module ref count manipulation on the lirc_zilog module, so there is need for lirc_zilog to attempt a buggy module get on itself anyway. lirc_zilog also errantly called these functions on itself in open() and close(), but lirc_dev did that already too. So let's just gut the bodies of the set_use_*() functions, and remove the extra calls to them from within lirc_zilog. Proper reference counting of the struct IR, IR_rx, and IR_tx objects -- to handle the case when the underlying bttv, ivtv, cx18, hdpvr, or pvrusb2 bridge driver module or device instance goes away -- will be added in subsequent patches. Signed-off-by: Andy Walls <awalls@md.metrocast.net> Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> |
||
---|---|---|
.. | ||
altera-stapl | ||
asus_oled | ||
ath6kl | ||
autofs | ||
bcm | ||
brcm80211 | ||
comedi | ||
cptm1217 | ||
crystalhd | ||
cs5535_gpio | ||
cx25821 | ||
cxd2099 | ||
cxt1e1 | ||
dt3155v4l | ||
easycap | ||
echo | ||
et131x | ||
frontier | ||
ft1000 | ||
go7007 | ||
hv | ||
iio | ||
intel_sst | ||
keucr | ||
line6 | ||
lirc | ||
memrar | ||
msm | ||
octeon | ||
olpc_dcon | ||
panel | ||
phison | ||
pohmelfs | ||
quatech_usb2 | ||
quickstart | ||
rt2860 | ||
rt2870 | ||
rtl8187se | ||
rtl8192e | ||
rtl8192u | ||
rtl8712 | ||
samsung-laptop | ||
sbe-2t3e3 | ||
sep | ||
serqt_usb2 | ||
slicoss | ||
sm7xx | ||
smbfs | ||
solo6x10 | ||
speakup | ||
spectra | ||
ste_rmi4 | ||
ti-st | ||
tidspbridge | ||
tm6000 | ||
usbip | ||
vme | ||
vt6655 | ||
vt6656 | ||
westbridge | ||
winbond | ||
wlags49_h2 | ||
wlags49_h25 | ||
wlan-ng | ||
xgifb | ||
zram | ||
Kconfig | ||
Makefile | ||
staging.c |