Bug 43145 - suspend with au0828, xc5000, and au8522 installed hangs
Summary: suspend with au0828, xc5000, and au8522 installed hangs
Status: NEW
Alias: None
Product: v4l-dvb
Classification: Unclassified
Component: dvb-other (show other bugs)
Hardware: All Linux
: P1 high
Assignee: dvb-other
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-04-22 16:18 UTC by Brian J. Murrell
Modified: 2013-02-13 18:10 UTC (History)
2 users (show)

See Also:
Kernel Version: 3.2.0
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments
my .config (20.80 KB, application/x-gzip)
2012-06-02 18:40 UTC, Jim Faulkner
Details

Description Brian J. Murrell 2012-04-22 16:18:08 UTC
I have an HVR-950Q:

[44847.234403] tveeprom 0-0050: Hauppauge model 72001, rev B3F0, serial# *******
[44847.294643] tveeprom 0-0050: MAC address is **:**:**:**:**:**
[44847.343417] tveeprom 0-0050: tuner model is Xceive XC5000 (idx 150, type 76)
[44847.402873] tveeprom 0-0050: TV standards NTSC(M) ATSC/DVB Digital (eeprom 0x88)
[44847.465471] tveeprom 0-0050: audio processor is AU8522 (idx 44)
[44847.515481] tveeprom 0-0050: decoder processor is AU8522 (idx 42)
[44847.567162] tveeprom 0-0050: has no radio, has IR receiver, has no IR transmitter
[44847.630272] hauppauge_eeprom: hauppauge eeprom: model=72001

With the au0828, xc5000, and au8522 drivers loaded suspend-to-ram hangs.  This never used to be the case on previous (2.6.32ish) kernels but now with the 3.2 kernels that I have been using it is the case.

If I simply rmmod those drivers before suspending, both suspend and resume work fine.

I'm not sure what more information to provide about this but I am happy to gather and provide whatever information you might want.

modinfo says au0828 is version 0.0.2 if that is at all meaningful.
Comment 1 Brian J. Murrell 2012-04-29 15:10:21 UTC
Interestingly enough, if I remove and insert the au0828 enough times, the device will be functional again.  Sounds like something racy is happening during insertion?
Comment 2 Brian J. Murrell 2012-04-29 15:22:22 UTC
Additionally:

It seems when it's inserted and doesn't work, the following is logged in the kernel message buffer:

xc5000: Device not found at addr 0x61 (0xffff)

and when it's inserted successfully:

xc5000: Successfully identified at address 0x61
xc5000: Firmware has not been loaded previously
Comment 3 Jim Faulkner 2012-06-02 18:38:41 UTC
Confirmed that the HVR-950q is randomly unable to initialize on recent kernels (since around 2.6.33).  Sometimes it will initialize correctly, sometimes it won't.  It sometimes gets "stuck" in an unitialized state and won't re-initialize after reinserting or rebooting no matter how many times you try.  After some days, it will initialize correctly again.

I've most recently tested with linux-3.4.1-rc1.  Here's a working initialization:

[ 1062.920177] usb 1-1: new high-speed USB device number 3 using ehci_hcd
[ 1063.221665] au0828 driver loaded
[ 1063.590211] au0828: i2c bus registered
[ 1063.848650] tveeprom 8-0050: Hauppauge model 72001, rev B3F0, serial# 7980230
[ 1063.848663] tveeprom 8-0050: MAC address is 00:0d:fe:79:c4:c6
[ 1063.848674] tveeprom 8-0050: tuner model is Xceive XC5000 (idx 150, type 76)
[ 1063.848685] tveeprom 8-0050: TV standards NTSC(M) ATSC/DVB Digital (eeprom 0x88)
[ 1063.848695] tveeprom 8-0050: audio processor is AU8522 (idx 44)
[ 1063.848705] tveeprom 8-0050: decoder processor is AU8522 (idx 42)
[ 1063.848714] tveeprom 8-0050: has no radio, has IR receiver, has no IR transmitter
[ 1063.848723] hauppauge_eeprom: hauppauge eeprom: model=72001
[ 1063.914865] au8522 8-0047: creating new instance
[ 1063.914874] au8522_decoder creating new instance...
[ 1063.921250] tuner 8-0061: Tuner -1 found with type(s) Radio TV.
[ 1063.939663] xc5000 8-0061: creating new instance
[ 1063.944881] xc5000: Successfully identified at address 0x61
[ 1063.944891] xc5000: Firmware has not been loaded previously
[ 1063.946701] au8522 8-0047: attaching existing instance
[ 1063.956267] xc5000 8-0061: attaching existing instance
[ 1063.961009] xc5000: Successfully identified at address 0x61
[ 1063.961020] xc5000: Firmware has not been loaded previously
[ 1063.961032] DVB: registering new adapter (au0828)
[ 1063.961049] DVB: registering adapter 0 frontend 0 (Auvitek AU8522 QAM/8VSB Frontend)...
[ 1063.974878] Registered device AU0828 [Hauppauge HVR950Q]
[ 1063.974991] usbcore: registered new interface driver au0828

and here's a failed initialization:

[ 1115.180170] usb 1-1: new high-speed USB device number 4 using ehci_hcd
[ 1115.720227] au0828: i2c bus registered
[ 1115.978210] tveeprom 8-0050: Hauppauge model 72001, rev B3F0, serial# 7980230
[ 1115.978224] tveeprom 8-0050: MAC address is 00:0d:fe:79:c4:c6
[ 1115.978234] tveeprom 8-0050: tuner model is Xceive XC5000 (idx 150, type 76)
[ 1115.978246] tveeprom 8-0050: TV standards NTSC(M) ATSC/DVB Digital (eeprom 0x88)
[ 1115.978256] tveeprom 8-0050: audio processor is AU8522 (idx 44)
[ 1115.978265] tveeprom 8-0050: decoder processor is AU8522 (idx 42)
[ 1115.978274] tveeprom 8-0050: has no radio, has IR receiver, has no IR transmitter
[ 1115.978283] hauppauge_eeprom: hauppauge eeprom: model=72001
[ 1115.982634] au8522 8-0047: creating new instance
[ 1115.982645] au8522_decoder creating new instance...
[ 1115.988638] tuner 8-0061: Tuner -1 found with type(s) Radio TV.
[ 1115.988690] xc5000 8-0061: creating new instance
[ 1115.993449] xc5000: Device not found at addr 0x61 (0xffff)
[ 1115.993462] xc5000 8-0061: destroying instance
[ 1115.994123] au8522 8-0047: attaching existing instance
[ 1116.001221] xc5000 8-0061: creating new instance
[ 1116.005946] xc5000: Device not found at addr 0x61 (0xffff)
[ 1116.005956] xc5000 8-0061: destroying instance
[ 1116.005968] DVB: registering new adapter (au0828)
[ 1116.005980] DVB: registering adapter 0 frontend 0 (Auvitek AU8522 QAM/8VSB Frontend)...
[ 1116.007175] Registered device AU0828 [Hauppauge HVR950Q]
Comment 4 Jim Faulkner 2012-06-02 18:40:03 UTC
Created attachment 73499 [details]
my .config

Note You need to log in before you can comment on or make changes to this bug.