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

Reply via email to