[linux-dvb] drivers/media/dvb/dvb-core/dmxdev.c: dvb_dvr_release
Simon Arlott
simon at arlott.org
Tue Sep 12 11:54:29 CEST 2006
If I have a process open /dev/dvb/adapter0/dvr0 RDONLY and then kill it (^C),
the release function sometimes fails because the lock is still held:
if (mutex_lock_interruptible(&dmxdev->mutex))
return -ERESTARTSYS;
This means that the dvbdev->readers semaphore is never updated and any future
attempts to open dvr0 will fail:
[ 1103.961000] function : dvb_dvr_open
[ 1106.540000] function : dvb_dvr_release
[ 1106.540000] dvb_dvr_release : readers++
[ 1111.718000] function : dvb_dvr_open
[ 1115.800000] function : dvb_dvr_release
[ 1118.931000] function : dvb_dvr_open
[ 1118.931000] dvb_dvr_open : BUSY (dvbdev->readers=0)
Everything works fine if I replace the mutex_lock_interruptible check with:
mutex_lock(&dmxdev->mutex);
[ 1339.409000] function : dvb_dvr_open
[ 1343.711000] function : dvb_dvr_release
[ 1343.727000] dvb_dvr_release : readers++
[ 1344.441000] function : dvb_dvr_open
[ 1350.618000] function : dvb_dvr_release
[ 1350.618000] dvb_dvr_release : readers++
[ 1351.302000] function : dvb_dvr_open
[ 1356.017000] function : dvb_dvr_release
[ 1356.034000] dvb_dvr_release : readers++
[ 1356.781000] function : dvb_dvr_open
[ 1360.145000] function : dvb_dvr_release
[ 1360.164000] dvb_dvr_release : readers++
[ 1360.837000] function : dvb_dvr_open
[ 1363.773000] function : dvb_dvr_release
[ 1363.773000] dvb_dvr_release : readers++
[ 1498.123000] function : dvb_dvr_open
[ 1501.139000] function : dvb_dvr_release
[ 1501.156000] dvb_dvr_release : readers++
[ 1501.856000] function : dvb_dvr_open
[ 1503.410000] function : dvb_dvr_release
[ 1503.427000] dvb_dvr_release : readers++
[ 1503.923000] function : dvb_dvr_open
[ 1511.609000] function : dvb_dvr_release
[ 1511.627000] dvb_dvr_release : readers++
--
Simon Arlott
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 829 bytes
Desc: OpenPGP digital signature
Url : http://www.linuxtv.org/pipermail/linux-dvb/attachments/20060912/9a29eabe/signature.pgp
More information about the linux-dvb
mailing list