kernel-fxtec-pro1x/drivers
Andy Walls 9b28500a59 [media] lirc_zilog: Remove broken, ineffective reference counting
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>
2011-03-22 19:23:50 -03:00
..
accessibility
acpi
amba
ata
atm
auxdisplay
base
block block: kill loop_mutex 2011-03-03 11:53:25 -05:00
bluetooth
cdrom
char ipmi: Fix IPMI errors due to timing problems 2011-03-10 13:21:16 -08:00
clk
clocksource
connector
cpufreq [CPUFREQ] fix BUG on cpufreq policy init failure 2011-03-01 18:49:44 -05:00
cpuidle
crypto
dca
dio
dma
edac
eisa
firewire
firmware
gpio gpio: add MODULE_DEVICE_TABLE 2011-03-13 15:35:59 -07:00
gpu drm/radeon: fix problem with changing active VRAM size. (v2) 2011-03-14 12:51:04 +10:00
hid
hwmon hwmon/f71882fg: Set platform drvdata to NULL later 2011-03-13 07:42:52 -07:00
i2c i2c-eg20t: include slab.h for memory allocations 2011-03-08 23:13:30 +00:00
ide
idle
ieee802154
infiniband
input
isdn drivers:isdn:istream.c Fix typo pice to piece 2011-02-28 12:07:32 -08:00
leds
lguest
macintosh
mca
md
media [media] hdpvr: i2c master enhancements 2011-03-22 19:23:48 -03:00
memstick
message
mfd [media] MFD: WL1273 FM Radio: MFD driver for the FM radio 2011-03-21 20:32:39 -03:00
misc drivers/misc/bmp085.c: add MODULE_DEVICE_TABLE 2011-03-04 17:53:38 -08:00
mmc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc 2011-03-09 14:00:44 -08:00
mtd Merge git://git.infradead.org/users/dwmw2/mtd-2.6.38 2011-03-13 15:56:22 -07:00
net ariadne: remove redundant NULL check 2011-03-10 14:41:51 -08:00
nfc
nubus
of of/promtree: allow DT device matching by fixing 'name' brokenness (v5) 2011-03-02 13:45:19 -07:00
oprofile
parisc
parport
pci
pcmcia Merge branch 'fixes' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-03-07 20:45:42 -08:00
platform
pnp
power
pps pps: make pps_gen_parport depend on BROKEN 2011-03-04 17:53:38 -08:00
ps3
rapidio
regulator
rtc drivers/rtc/rtc-s3c.c: fix prototype for s3c_rtc_setaie() 2011-03-04 17:53:38 -08:00
s390 [S390] tape: deadlock on system work queue 2011-03-03 17:56:14 +01:00
sbus
scsi block: add @force_kblockd to __blk_run_queue() 2011-03-02 08:48:05 -05:00
sfi
sh
sn
spi
ssb
staging [media] lirc_zilog: Remove broken, ineffective reference counting 2011-03-22 19:23:50 -03:00
target
tc
telephony
thermal ACPI: Fix build for CONFIG_NET unset 2011-02-28 18:00:31 -08:00
tty
uio
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2011-03-03 15:43:15 -08:00
uwb
vhost
video matrox: Remove legacy VIDIOC_*_OLD ioctls 2011-03-21 20:32:38 -03:00
virtio
vlynq
w1
watchdog watchdog: hpwdt: eliminate section mismatch warning 2011-03-14 10:44:31 +00:00
xen
zorro
Kconfig
Makefile