diff options
author | Jiri Slaby <jslaby@suse.cz> | 2010-07-18 15:34:18 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-08-02 16:43:16 -0300 |
commit | 1c488ea9d52032d07dd320d31e0720239c93dd64 (patch) | |
tree | 7de7d816c2bf4dfbf92322c13dd39e398ff45f27 /Documentation/i2o | |
parent | bbafc0cb6c52c40647f561854db5fbac4d608186 (diff) | |
download | op-kernel-dev-1c488ea9d52032d07dd320d31e0720239c93dd64.zip op-kernel-dev-1c488ea9d52032d07dd320d31e0720239c93dd64.tar.gz |
V4L/DVB: DVB: fix dvr node refcounting
In dvb_dvr_release, there is a test dvbdev->users==-1, but users are
never negative. This error results in hung tasks:
task PC stack pid father
bash D ffffffffa000c948 0 3264 3170 0x00000000
ffff88003aec5ce8 0000000000000086 0000000000011f80 0000000000011f80
ffff88003aec5fd8 ffff88003aec5fd8 ffff88003b848670 0000000000011f80
ffff88003aec5fd8 0000000000011f80 ffff88003e02a030 ffff88003b848670
Call Trace:
[<ffffffff813dd4a5>] dvb_dmxdev_release+0xc5/0x130
[<ffffffff8107b750>] ? autoremove_wake_function+0x0/0x40
[<ffffffffa00013a2>] dvb_usb_adapter_dvb_exit+0x42/0x70 [dvb_usb]
[<ffffffffa0000525>] dvb_usb_exit+0x55/0xd0 [dvb_usb]
[<ffffffffa00005ee>] dvb_usb_device_exit+0x4e/0x70 [dvb_usb]
[<ffffffffa000a065>] af9015_usb_device_exit+0x55/0x60 [dvb_usb_af9015]
[<ffffffff813a3f05>] usb_unbind_interface+0x55/0x1a0
[<ffffffff81316000>] __device_release_driver+0x70/0xe0
...
So check against 1 there instead.
BTW why's the TODO there? Adding TODOs to the code without
descriptions is like adding nothing.
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'Documentation/i2o')
0 files changed, 0 insertions, 0 deletions