public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* BUG: Freeze upon loading bttv module
@ 2013-11-09 16:18 Lorenz Röhrl
  2013-11-09 23:00 ` Hans Verkuil
  0 siblings, 1 reply; 4+ messages in thread
From: Lorenz Röhrl @ 2013-11-09 16:18 UTC (permalink / raw)
  To: linux-media

Hi,

i'm having problems loading the bttv-module for my bt878 based DVB-T 
card: my system just freezes. Magic-Syskeys also won't work then.
With kernel 3.9.0 this worked just fine. Versions 3.10, 3.11 and 3.12 
won't work.

Last messages on screen with 3.12 upon booting/loading the module is: 
http://abload.de/img/bttv_freezeqxdn2.png

With kernel 3.9 i get an additional line on module loading and the 
device works fine:
[    1.895037] bttv: 0: add subdevice "dvb0"

I traced the problem, it dies somewhere in v4l2_ctrl_handler_setup on 
line 4169 
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/media/pci/bt8xx/bttv-driver.c#n4169

lspci output from kernel 3.9:
[...]
04:01.0 Multimedia video controller: Brooktree Corporation Bt878 Video 
Capture (rev 11)
         Subsystem: Twinhan Technology Co. Ltd VisionPlus DVB card
         Flags: bus master, medium devsel, latency 32, IRQ 16
         Memory at f0401000 (32-bit, prefetchable) [size=4K]
         Capabilities: [44] Vital Product Data
         Capabilities: [4c] Power Management version 2
         Kernel driver in use: bttv
         Kernel modules: bttv

04:01.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture 
(rev 11)
         Subsystem: Twinhan Technology Co. Ltd VisionPlus DVB Card
         Flags: bus master, medium devsel, latency 32, IRQ 16
         Memory at f0400000 (32-bit, prefetchable) [size=4K]
         Capabilities: [44] Vital Product Data
         Capabilities: [4c] Power Management version 2
         Kernel driver in use: bt878
         Kernel modules: bt878



Please CC me as i'm not subscribed to the list.

Thanks!

- Lorenz

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: BUG: Freeze upon loading bttv module
  2013-11-09 16:18 BUG: Freeze upon loading bttv module Lorenz Röhrl
@ 2013-11-09 23:00 ` Hans Verkuil
  2013-11-10  8:35   ` Lorenz Röhrl
  0 siblings, 1 reply; 4+ messages in thread
From: Hans Verkuil @ 2013-11-09 23:00 UTC (permalink / raw)
  To: Lorenz Röhrl; +Cc: linux-media

Hi Lorenz,

On 11/09/2013 05:18 PM, Lorenz Röhrl wrote:
> Hi,
> 
> i'm having problems loading the bttv-module for my bt878 based DVB-T 
> card: my system just freezes. Magic-Syskeys also won't work then.
> With kernel 3.9.0 this worked just fine. Versions 3.10, 3.11 and 3.12 
> won't work.
> 
> Last messages on screen with 3.12 upon booting/loading the module is: 
> http://abload.de/img/bttv_freezeqxdn2.png
> 
> With kernel 3.9 i get an additional line on module loading and the 
> device works fine:
> [    1.895037] bttv: 0: add subdevice "dvb0"
> 
> I traced the problem, it dies somewhere in v4l2_ctrl_handler_setup on 
> line 4169 
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/media/pci/bt8xx/bttv-driver.c#n4169

Can you try this patch? I'm not 100% but I think this might be the cause of
the problem.

diff --git a/drivers/media/pci/bt8xx/bttv-driver.c b/drivers/media/pci/bt8xx/bttv-driver.c
index c6532de..4f0aaa5 100644
--- a/drivers/media/pci/bt8xx/bttv-driver.c
+++ b/drivers/media/pci/bt8xx/bttv-driver.c
@@ -4182,7 +4182,8 @@ static int bttv_probe(struct pci_dev *dev, const struct pci_device_id *pci_id)
 	}
 	btv->std = V4L2_STD_PAL;
 	init_irqreg(btv);
-	v4l2_ctrl_handler_setup(hdl);
+	if (!bttv_tvcards[btv->c.type].no_video)
+		v4l2_ctrl_handler_setup(hdl);
 	if (hdl->error) {
 		result = hdl->error;
 		goto fail2;

Regards,

	Hans

> 
> lspci output from kernel 3.9:
> [...]
> 04:01.0 Multimedia video controller: Brooktree Corporation Bt878 Video 
> Capture (rev 11)
>          Subsystem: Twinhan Technology Co. Ltd VisionPlus DVB card
>          Flags: bus master, medium devsel, latency 32, IRQ 16
>          Memory at f0401000 (32-bit, prefetchable) [size=4K]
>          Capabilities: [44] Vital Product Data
>          Capabilities: [4c] Power Management version 2
>          Kernel driver in use: bttv
>          Kernel modules: bttv
> 
> 04:01.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture 
> (rev 11)
>          Subsystem: Twinhan Technology Co. Ltd VisionPlus DVB Card
>          Flags: bus master, medium devsel, latency 32, IRQ 16
>          Memory at f0400000 (32-bit, prefetchable) [size=4K]
>          Capabilities: [44] Vital Product Data
>          Capabilities: [4c] Power Management version 2
>          Kernel driver in use: bt878
>          Kernel modules: bt878
> 
> 
> 
> Please CC me as i'm not subscribed to the list.
> 
> Thanks!
> 
> - Lorenz
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: BUG: Freeze upon loading bttv module
  2013-11-09 23:00 ` Hans Verkuil
@ 2013-11-10  8:35   ` Lorenz Röhrl
  2013-11-10 11:45     ` Hans Verkuil
  0 siblings, 1 reply; 4+ messages in thread
From: Lorenz Röhrl @ 2013-11-10  8:35 UTC (permalink / raw)
  To: Hans Verkuil; +Cc: linux-media

Hi Hans,


On 11/10/2013 12:00 AM, Hans Verkuil wrote:
>
> Can you try this patch? I'm not 100% but I think this might be the cause of
> the problem.
>
> diff --git a/drivers/media/pci/bt8xx/bttv-driver.c b/drivers/media/pci/bt8xx/bttv-driver.c
> index c6532de..4f0aaa5 100644
> --- a/drivers/media/pci/bt8xx/bttv-driver.c
> +++ b/drivers/media/pci/bt8xx/bttv-driver.c
> @@ -4182,7 +4182,8 @@ static int bttv_probe(struct pci_dev *dev, const struct pci_device_id *pci_id)
>   	}
>   	btv->std = V4L2_STD_PAL;
>   	init_irqreg(btv);
> -	v4l2_ctrl_handler_setup(hdl);
> +	if (!bttv_tvcards[btv->c.type].no_video)
> +		v4l2_ctrl_handler_setup(hdl);
>   	if (hdl->error) {
>   		result = hdl->error;
>   		goto fail2;
>
>

I tried the patch and indeed it's working :)
No freeze on loading the module and the dvb-device is also working.

lolo@hurra ~ % ls /dev/dvb/adapter0
demux0  dvr0  frontend0

lolo@hurra ~ % dmesg |grep bttv
[    0.871060] bttv: driver version 0.9.19 loaded
[    0.872005] bttv: using 8 buffers with 2080k (520 pages) each for capture
[    0.873137] bttv: Bt8xx card found (0)
[    0.874186] bttv: 0: Bt878 (rev 17) at 0000:04:01.0, irq: 16, 
latency: 32, mmio: 0xf0401000
[    0.875156] bttv: 0: detected: Twinhan VisionPlus DVB [card=113], PCI 
subsystem ID is 1822:0001
[    0.876138] bttv: 0: using: Twinhan DST + clones [card=113,autodetected]
[    0.884082] bttv: 0: tuner absent
[    0.894011] bttv: 0: add subdevice "dvb0"
[    0.901398] DVB: registering new adapter (bttv0)


Will this patch be included upstream? When will it appear in official 
kernel sources?

Thanks a lot!

- Lorenz


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: BUG: Freeze upon loading bttv module
  2013-11-10  8:35   ` Lorenz Röhrl
@ 2013-11-10 11:45     ` Hans Verkuil
  0 siblings, 0 replies; 4+ messages in thread
From: Hans Verkuil @ 2013-11-10 11:45 UTC (permalink / raw)
  To: Lorenz Röhrl; +Cc: linux-media

Hi Lorenz,

On 11/10/2013 09:35 AM, Lorenz Röhrl wrote:
> Hi Hans,
> 
> 
> On 11/10/2013 12:00 AM, Hans Verkuil wrote:
>>
>> Can you try this patch? I'm not 100% but I think this might be the cause of
>> the problem.
>>
>> diff --git a/drivers/media/pci/bt8xx/bttv-driver.c b/drivers/media/pci/bt8xx/bttv-driver.c
>> index c6532de..4f0aaa5 100644
>> --- a/drivers/media/pci/bt8xx/bttv-driver.c
>> +++ b/drivers/media/pci/bt8xx/bttv-driver.c
>> @@ -4182,7 +4182,8 @@ static int bttv_probe(struct pci_dev *dev, const struct pci_device_id *pci_id)
>>   	}
>>   	btv->std = V4L2_STD_PAL;
>>   	init_irqreg(btv);
>> -	v4l2_ctrl_handler_setup(hdl);
>> +	if (!bttv_tvcards[btv->c.type].no_video)
>> +		v4l2_ctrl_handler_setup(hdl);
>>   	if (hdl->error) {
>>   		result = hdl->error;
>>   		goto fail2;
>>
>>
> 
> I tried the patch and indeed it's working :)
> No freeze on loading the module and the dvb-device is also working.

Thanks for testing this! Good news that it fixed the problem.

> 
> lolo@hurra ~ % ls /dev/dvb/adapter0
> demux0  dvr0  frontend0
> 
> lolo@hurra ~ % dmesg |grep bttv
> [    0.871060] bttv: driver version 0.9.19 loaded
> [    0.872005] bttv: using 8 buffers with 2080k (520 pages) each for capture
> [    0.873137] bttv: Bt8xx card found (0)
> [    0.874186] bttv: 0: Bt878 (rev 17) at 0000:04:01.0, irq: 16, 
> latency: 32, mmio: 0xf0401000
> [    0.875156] bttv: 0: detected: Twinhan VisionPlus DVB [card=113], PCI 
> subsystem ID is 1822:0001
> [    0.876138] bttv: 0: using: Twinhan DST + clones [card=113,autodetected]
> [    0.884082] bttv: 0: tuner absent
> [    0.894011] bttv: 0: add subdevice "dvb0"
> [    0.901398] DVB: registering new adapter (bttv0)
> 
> 
> Will this patch be included upstream? When will it appear in official 
> kernel sources?

I'll make a pull request for this tomorrow for 3.13 with a CC to the stable kernel
mailinglist. It will probably take a few weeks before it appears in the mainline
kernel and in the older, stable, kernels. I would expect this to be fixed by the
end of the year.

Regards,

	Hans

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-11-10 11:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-09 16:18 BUG: Freeze upon loading bttv module Lorenz Röhrl
2013-11-09 23:00 ` Hans Verkuil
2013-11-10  8:35   ` Lorenz Röhrl
2013-11-10 11:45     ` Hans Verkuil

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox