Ben Hutchings <ben <at> decadent.org.uk> writes: > > On Sun, 2011-03-27 at 17:06 +0200, Huber Andreas wrote: > > Package: linux-source-2.6.38 > > Version: 2.6.38-1 > > Severity: important > > Tags: upstream > > > > > > [Symptom] > > Processes that try to open a cx88-blackbird driven MPEG device will hang up. > > > > [Cause] > > Nestet mutex_locks (which are not allowed) result in a deadlock. > > Could you test whether this patch fixes the problem? Instructions for > rebuilding the kernel package are at > <http://kernel-handbook.alioth.debian.org/ch-common-tasks.html#s-common-official>. > > Ben. >
Hi Ben, this patch fixes the deadlock during opening of the MPEG device, thanks. But I did some testing and ran into another deadlock while unloading the (patched) driver ... rmmod cx88_blackbird ... cx88/2: unregistering cx8802 driver, type: blackbird access: shared cx88[0]/2: subsystem: 0070:9601, board: Hauppauge WinTV-HVR1300 DVB-T/Hybrid MPEG Encoder [card=56] cx88[1]/2: subsystem: 0070:9601, board: Hauppauge WinTV-HVR1300 DVB-T/Hybrid MPEG Encoder [card=56] INFO: task rmmod:11233 blocked for more than 120 seconds. ... rmmod D ffff88005e9086c0 0 11233 5297 0x00000000 ... Call Trace: [<ffffffff8131fae5>] ? __mutex_lock_common.clone.5+0x12a/0x195 [<ffffffff810eb3d9>] ? kfree+0xc1/0xda [<ffffffff8131f9a2>] ? mutex_lock+0x1a/0x33 [<ffffffffa0b3a809>] ? cx8802_blackbird_remove+0x27/0x3d [cx88_blackbird] [<ffffffffa08671f2>] ? cx8802_unregister_driver+0xf1/0x1bd [cx8802] [<ffffffff810730a9>] ? sys_delete_module+0x1df/0x251 [<ffffffff81009912>] ? system_call_fastpath+0x16/0x1b ... And there seems to be a new problem: I have 2 identical WinTV-HVR1300 Cards ... [ 6.876614] cx88[0]/0: registered device video0 [v4l2] [ 6.889815] cx88[1]/0: registered device video1 [v4l2] [ 10.161998] cx88[0]/2: registered device video2 [mpeg] [ 13.286062] cx88[1]/2: registered device video3 [mpeg] Here's what I experienced so far: 1) booting kernel 2.6.36-trunk-amd64 from debian both cards are able to stream their mpeg encoded tv streams through the mpeg devices (in my case /dev/video2 and /dev/video3) 2) after reboot into kernel 2.6.38 /dev/video2 still works fine; tuning to different channels works! /dev/video3 is inaccessible (after doing exactly the same initialization as before) ... dd if=/dev/video3 of=/tmp/test.mpg dd: reading `/dev/video3': Input/output error 0+0 records in 0+0 records out 0 bytes (0 B) copied, 2.74267 s, 0.0 kB/s Do you think this behavior could be BKL conversion related? -- To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/loom.20110330t202348-...@post.gmane.org