2009-07-10 14:55:07

by Ian Lynagh

[permalink] [raw]
Subject: PROBLEM: USB wlan device stops working; ehci "kernel BUG"


Hi all,

[1.] PROBLEM: USB wlan device stops working; ehci "kernel BUG"

[2.]

I am having a problem with an rt73usb and/or ehci. I /think/ the bug is
in ehci, and the rt73usb problems are just a symptom, but I'm not sure.

The actual problem is that after a while (generally a few days, I think)
my USB wireless device stops working. I've attached the dmesg log at the
point that I noticed it stopped working today; unfortunately, I don't
know exactly when it broke. My guess is it was at this line, though:

[582576.209231] ehci_hcd 0000:00:12.2: force halt; handhake ffffc20000636024 00004000 00000000 -> -110

Then there are lots of lines saying things like:

[582715.780075] phy1 -> rt2x00usb_vendor_request: Error - Vendor Request 0x07 failed for offset 0x30c4 with error -108.
[582716.780031] hub 2-1:1.0: hub_port_status failed (err = -108)

I haven't found a way to fix this problem short of rebooting. If I
"rmmod ehci_hcd" then I get a "kernel BUG" error, in the second
attachment and reproduced below.

All the info below, with the exception of the attachments and the
"kernel BUG", was taken when everything was working.

[3.] wlan USB ehci

[4.] I'm using 2.6.30 (but it's happened on earlier kernels too) from Debian's linux-image-2.6.30-1-amd64 2.6.30-1

[4.1.] Linux version 2.6.30-1-amd64 (Debian 2.6.30-1) ([email protected]) (gcc version 4.3.3 (Debian 4.3.3-10) ) #1 SMP Sun Jun 14 15:00:29 UTC 2009

[5.] N/A

[6.]

[582730.178207] ------------[ cut here ]------------
[582730.178212] kernel BUG at /build/buildd/linux-2.6-2.6.30/debian/build/source_amd64_none/drivers/usb/host/ehci-mem.c:74!
[582730.178215] invalid opcode: 0000 [#1] SMP
[582730.178218] last sysfs file: /sys/devices/pci0000:00/0000:00:12.2/usb2/2-1/2-1:1.0/bInterfaceProtocol
[582730.178220] CPU 3
[582730.178222] Modules linked in: tcp_diag inet_diag nls_utf8 nls_cp437 vfat fat binfmt_misc isofs nls_base loop dm_snapshot dm_mirror dm_region_hash dm_log dm_mod it87 hwmon_vid eeprom psmouse ide_generic ide_gd_mod arc4 ecb rt73usb rt2x00usb rt2x00lib led_class input_polldev mac80211 snd_usb_audio snd_pcm_oss snd_mixer_oss snd_pcm cfg80211 snd_page_alloc snd_usb_lib snd_hwdep snd_seq_midi pcspkr snd_rawmidi snd_seq_midi_event evdev i2c_piix4 i2c_core snd_seq snd_timer snd_seq_device snd wmi soundcore button processor shpchp pci_hotplug ext3 jbd mbcache ide_cd_mod cdrom ide_pci_generic usb_storage usbhid hid sd_mod crc_t10dif atiixp ide_core ata_generic ahci firewire_ohci firewire_core crc_itu_t floppy libata r8169 mii ehci_hcd(-) scsi_mod ohci_hcd thermal fan thermal_sys
[582730.178267] Pid: 11270, comm: rmmod Not tainted 2.6.30-1-amd64 #1 Unknow
[582730.178269] RIP: 0010:[<ffffffffa004e836>] [<ffffffffa004e836>] qh_put+0x30/0x67 [ehci_hcd]
[582730.178278] RSP: 0018:ffff88002ca19d98 EFLAGS: 00010286
[582730.178281] RAX: ffff880037802058 RBX: ffff880037802000 RCX: ffff88012d146558
[582730.178283] RDX: 00000000ffffffff RSI: ffff88012c41b2d0 RDI: ffff880037802000
[582730.178285] RBP: ffff88012d146578 R08: 0000000000000004 R09: 0000000000000f7b
[582730.178287] R10: ffff88012fab32b0 R11: 00000000000003c0 R12: ffff88012d146594
[582730.178290] R13: 00007ffffb8fa2d0 R14: 0000000000000000 R15: 0000000000000000
[582730.178292] FS: 00007ff81ceeb6e0(0000) GS:ffff880028070000(0000) knlGS:00000000f7e1b6c0
[582730.178295] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[582730.178297] CR2: 00007fb4e6213000 CR3: 00000000051f8000 CR4: 00000000000006e0
[582730.178299] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[582730.178301] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[582730.178304] Process rmmod (pid: 11270, threadinfo ffff88002ca18000, task ffff8800ad912ee0)
[582730.178306] Stack:
[582730.178307] ffff88012d146578 ffff88012d146578 ffff88012d146578 ffffffffa0052b69
[582730.178310] ffff88012c41b820 ffff88012d146594 ffff88012d146578 ffff88012d146594
[582730.178314] 00007ffffb8fa2d0 0000000000000000 0000000000000000 ffffffffa0052d53
[582730.178318] Call Trace:
[582730.178320] [<ffffffffa0052b69>] ? ehci_mem_cleanup+0x24/0x12a [ehci_hcd]
[582730.178327] [<ffffffffa0052d53>] ? ehci_stop+0xe4/0xf3 [ehci_hcd]
[582730.178333] [<ffffffff803ddfb2>] ? usb_remove_hcd+0xb6/0xf9
[582730.178344] [<ffffffff803e94b6>] ? usb_hcd_pci_remove+0x1d/0x7f
[582730.178348] [<ffffffff803601ac>] ? pci_device_remove+0x24/0x47
[582730.178353] [<ffffffff803d1e54>] ? __device_release_driver+0x77/0x9e
[582730.178357] [<ffffffff803d1eef>] ? driver_detach+0x74/0x9a
[582730.178360] [<ffffffff803d12fe>] ? bus_remove_driver+0x7d/0xad
[582730.178365] [<ffffffff80360433>] ? pci_unregister_driver+0x38/0x89
[582730.178371] [<ffffffffa0053994>] ? ehci_hcd_cleanup+0x10/0x1a [ehci_hcd]
[582730.178377] [<ffffffff80264be7>] ? sys_delete_module+0x1bf/0x22a
[582730.178382] [<ffffffff8035019f>] ? __up_write+0x12/0x45
[582730.178386] [<ffffffff8020fa42>] ? system_call_fastpath+0x16/0x1b
[582730.178391] Code: 48 83 ec 08 8b 87 80 00 00 00 ff c8 85 c0 89 87 80 00 00 00 75 48 48 8d 47 58 48 39 47 58 48 8b 6f 78 75 07 48 83 7f 50 00 74 04 <0f> 0b eb fe 48 8b 77 68 48 85 f6 74 10 48 8b 56 38 48 8b bd 20
[582730.178425] RIP [<ffffffffa004e836>] qh_put+0x30/0x67 [ehci_hcd]
[582730.178431] RSP <ffff88002ca19d98>
[582730.178433] ---[ end trace 15b415fb85c0dfb1 ]---

[7.] N/A

[8.]

[8.1.]

ver_linux output:
--------------------------------------
Linux matrix 2.6.30-1-amd64 #1 SMP Sun Jun 14 15:00:29 UTC 2009 x86_64 GNU/Linux

Gnu C 4.3.2
Gnu make 3.81
binutils 2.18.0.20080103
util-linux 2.13.1.1
mount 2.13.1.1
module-init-tools found
Linux C Library 2.7
Dynamic linker (ldd) 2.7
Procps 3.2.7
Console-tools 0.2.3
Sh-utils 6.10
udev 125
Modules Loaded tcp_diag inet_diag binfmt_misc isofs nls_base loop dm_snapshot dm_mirror dm_region_hash dm_log dm_mod it87 hwmon_vid eeprom psmouse ide_generic ide_gd_mod arc4 ecb snd_usb_audio snd_pcm_oss snd_mixer_oss snd_pcm snd_page_alloc snd_usb_lib snd_hwdep snd_seq_midi snd_rawmidi snd_seq_midi_event rt73usb rt2x00usb rt2x00lib led_class snd_seq input_polldev mac80211 snd_timer snd_seq_device pcspkr snd soundcore cfg80211 i2c_piix4 evdev i2c_core wmi button processor shpchp pci_hotplug ext3 jbd mbcache usbhid hid ide_cd_mod cdrom ide_pci_generic sd_mod crc_t10dif atiixp ide_core ahci ata_generic firewire_ohci firewire_core crc_itu_t r8169 mii floppy libata ohci_hcd ehci_hcd scsi_mod thermal fan thermal_sys
--------------------------------------

[8.2.]

processor : 0
vendor_id : AuthenticAMD
cpu family : 16
model : 2
model name : AMD Phenom(tm) 9650 Quad-Core Processor
stepping : 3
cpu MHz : 2304.679
cache size : 512 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc pni monitor cx16 lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs
bogomips : 4609.35
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

processor : 1
vendor_id : AuthenticAMD
cpu family : 16
model : 2
model name : AMD Phenom(tm) 9650 Quad-Core Processor
stepping : 3
cpu MHz : 2304.679
cache size : 512 KB
physical id : 0
siblings : 4
core id : 1
cpu cores : 4
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc pni monitor cx16 lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs
bogomips : 4609.93
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

processor : 2
vendor_id : AuthenticAMD
cpu family : 16
model : 2
model name : AMD Phenom(tm) 9650 Quad-Core Processor
stepping : 3
cpu MHz : 2304.679
cache size : 512 KB
physical id : 0
siblings : 4
core id : 2
cpu cores : 4
apicid : 2
initial apicid : 2
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc pni monitor cx16 lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs
bogomips : 4609.76
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

processor : 3
vendor_id : AuthenticAMD
cpu family : 16
model : 2
model name : AMD Phenom(tm) 9650 Quad-Core Processor
stepping : 3
cpu MHz : 2304.679
cache size : 512 KB
physical id : 0
siblings : 4
core id : 3
cpu cores : 4
apicid : 3
initial apicid : 3
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc pni monitor cx16 lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs
bogomips : 4609.80
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

[8.3.]

tcp_diag 1728 0 - Live 0xffffffffa005d000
inet_diag 9664 5 tcp_diag, Live 0xffffffffa008d000
binfmt_misc 9244 1 - Live 0xffffffffa0371000
isofs 31096 2 - Live 0xffffffffa0364000
nls_base 8740 1 isofs, Live 0xffffffffa035f000
loop 15948 4 - Live 0xffffffffa0356000
dm_snapshot 22524 0 - Live 0xffffffffa034b000
dm_mirror 14504 0 - Live 0xffffffffa0342000
dm_region_hash 12688 1 dm_mirror, Live 0xffffffffa033c000
dm_log 9924 2 dm_mirror,dm_region_hash, Live 0xffffffffa0334000
dm_mod 59096 3 dm_snapshot,dm_mirror,dm_log, Live 0xffffffffa0320000
it87 23624 0 - Live 0xffffffffa0315000
hwmon_vid 3088 1 it87, Live 0xffffffffa0312000
eeprom 6336 0 - Live 0xffffffffa030b000
psmouse 42140 0 - Live 0xffffffffa02fb000
ide_generic 2452 0 [permanent], Live 0xffffffffa02f5000
ide_gd_mod 23384 0 - Live 0xffffffffa02ea000
arc4 2048 2 - Live 0xffffffffa02e4000
ecb 3072 2 - Live 0xffffffffa02de000
snd_usb_audio 90288 0 - Live 0xffffffffa02c2000
snd_pcm_oss 37200 0 - Live 0xffffffffa02b3000
snd_mixer_oss 15072 1 snd_pcm_oss, Live 0xffffffffa02aa000
snd_pcm 78440 2 snd_usb_audio,snd_pcm_oss, Live 0xffffffffa0291000
snd_page_alloc 9936 1 snd_pcm, Live 0xffffffffa0289000
snd_usb_lib 16560 1 snd_usb_audio, Live 0xffffffffa0282000
snd_hwdep 8120 1 snd_usb_audio, Live 0xffffffffa027b000
snd_seq_midi 6976 0 - Live 0xffffffffa0274000
snd_rawmidi 22992 2 snd_usb_lib,snd_seq_midi, Live 0xffffffffa0269000
snd_seq_midi_event 7696 1 snd_seq_midi, Live 0xffffffffa0262000
rt73usb 26452 0 - Live 0xffffffffa0256000
rt2x00usb 12352 1 rt73usb, Live 0xffffffffa0250000
rt2x00lib 30320 2 rt73usb,rt2x00usb, Live 0xffffffffa0246000
led_class 5048 1 rt2x00lib, Live 0xffffffffa023f000
snd_seq 51248 2 snd_seq_midi,snd_seq_midi_event, Live 0xffffffffa022d000
input_polldev 4544 1 rt2x00lib, Live 0xffffffffa0229000
mac80211 160272 2 rt2x00usb,rt2x00lib, Live 0xffffffffa01fc000
snd_timer 21824 2 snd_pcm,snd_seq, Live 0xffffffffa01f1000
snd_seq_device 7476 3 snd_seq_midi,snd_rawmidi,snd_seq, Live 0xffffffffa01ea000
pcspkr 2800 0 - Live 0xffffffffa01e4000
snd 63848 9 snd_usb_audio,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_hwdep,snd_rawmidi,snd_seq,snd_timer,snd_seq_device, Live 0xffffffffa01cf000
soundcore 7984 1 snd, Live 0xffffffffa01c8000
cfg80211 65032 2 rt2x00lib,mac80211, Live 0xffffffffa01b6000
i2c_piix4 11040 0 - Live 0xffffffffa01ae000
evdev 10448 3 - Live 0xffffffffa01a6000
i2c_core 25424 2 eeprom,i2c_piix4, Live 0xffffffffa019a000
wmi 7488 0 - Live 0xffffffffa0193000
button 6512 0 - Live 0xffffffffa018c000
processor 40080 0 - Live 0xffffffffa017d000
shpchp 32588 0 - Live 0xffffffffa0170000
pci_hotplug 29040 1 shpchp, Live 0xffffffffa0163000
ext3 122560 5 - Live 0xffffffffa0143000
jbd 47976 1 ext3, Live 0xffffffffa0135000
mbcache 8804 1 ext3, Live 0xffffffffa0130000
usbhid 37216 0 - Live 0xffffffffa0124000
hid 41296 1 usbhid, Live 0xffffffffa0117000
ide_cd_mod 29000 1 - Live 0xffffffffa010d000
cdrom 34360 1 ide_cd_mod, Live 0xffffffffa0102000
ide_pci_generic 4964 0 - Live 0xffffffffa00b8000
sd_mod 33656 9 - Live 0xffffffffa00f7000
crc_t10dif 2096 1 sd_mod, Live 0xffffffffa0007000
atiixp 4292 1 - Live 0xffffffffa0017000
ide_core 104864 5 ide_generic,ide_gd_mod,ide_cd_mod,ide_pci_generic,atiixp, Live 0xffffffffa00db000
ahci 36448 7 - Live 0xffffffffa00cd000
ata_generic 5924 0 - Live 0xffffffffa00c6000
firewire_ohci 22372 0 - Live 0xffffffffa00bb000
firewire_core 44852 1 firewire_ohci, Live 0xffffffffa00ab000
crc_itu_t 2720 2 rt73usb,firewire_core, Live 0xffffffffa0043000
r8169 32500 0 - Live 0xffffffffa00a1000
mii 5600 1 r8169, Live 0xffffffffa000e000
floppy 55384 0 - Live 0xffffffffa0091000
libata 174892 2 ahci,ata_generic, Live 0xffffffffa0060000
ohci_hcd 22700 0 - Live 0xffffffffa0055000
ehci_hcd 33580 0 - Live 0xffffffffa0047000
scsi_mod 158352 2 sd_mod,libata, Live 0xffffffffa001a000
thermal 15952 0 - Live 0xffffffffa0011000
fan 5224 0 - Live 0xffffffffa000a000
thermal_sys 16496 3 processor,thermal,fan, Live 0xffffffffa0000000

[8.4.]

0000-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
0050-0053 : timer1
0060-0060 : keyboard
0064-0064 : keyboard
0070-0073 : rtc0
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : 0000:00:14.1
0170-0177 : atiixp
01f0-01f7 : 0000:00:14.1
01f0-01f7 : atiixp
0220-0225 : pnp 00:01
0228-022f : pnp 00:02
022d-022e : it87
022d-022e : it87
0238-023f : pnp 00:02
0290-0294 : pnp 00:01
0376-0376 : 0000:00:14.1
0376-0376 : atiixp
03c0-03df : vga+
03f2-03f2 : floppy
03f4-03f5 : floppy
03f6-03f6 : 0000:00:14.1
03f6-03f6 : atiixp
03f7-03f7 : floppy
040b-040b : pnp 00:02
04d0-04d1 : pnp 00:01
04d6-04d6 : pnp 00:02
0b00-0b0f : pnp 00:02
0b00-0b07 : piix4_smbus
0b10-0b1f : pnp 00:02
0b20-0b3f : pnp 00:02
0c00-0c01 : pnp 00:02
0c14-0c14 : pnp 00:02
0c50-0c52 : pnp 00:02
0c6c-0c6d : pnp 00:02
0c6f-0c6f : pnp 00:02
0cd0-0cd1 : pnp 00:02
0cd2-0cd3 : pnp 00:02
0cd4-0cdf : pnp 00:02
0cf8-0cff : PCI conf1
4000-40fe : pnp 00:02
4000-4003 : ACPI PM1a_EVT_BLK
4004-4005 : ACPI PM1a_CNT_BLK
4008-400b : ACPI PM_TMR
4010-4015 : ACPI CPU throttle
4020-4027 : ACPI GPE0_BLK
4050-4050 : ACPI PM2_CNT_BLK
4100-411f : pnp 00:02
4210-4217 : pnp 00:02
c000-cfff : PCI Bus 0000:03
d000-dfff : PCI Bus 0000:02
de00-deff : 0000:02:00.0
de00-deff : r8169
e000-efff : PCI Bus 0000:01
ee00-eeff : 0000:01:05.0
fa00-fa0f : 0000:00:14.1
fa00-fa0f : atiixp
fb00-fb0f : 0000:00:11.0
fb00-fb0f : ahci
fc00-fc03 : 0000:00:11.0
fc00-fc03 : ahci
fd00-fd07 : 0000:00:11.0
fd00-fd07 : ahci
fe00-fe03 : 0000:00:11.0
fe00-fe03 : ahci
ff00-ff07 : 0000:00:11.0
ff00-ff07 : ahci


00000000-0009f7ff : System RAM
0009f800-0009ffff : reserved
000f0000-000fffff : reserved
00100000-bfedffff : System RAM
00200000-004b7891 : Kernel code
004b7892-0061523f : Kernel data
006d7000-007d98cb : Kernel bss
20000000-23ffffff : GART
bfee0000-bfee2fff : ACPI Non-volatile Storage
bfee3000-bfeeffff : ACPI Tables
bfef0000-bfefffff : reserved
bfff0000-cffeffff : pnp 00:0b
d0000000-dfffffff : PCI Bus 0000:01
d0000000-dfffffff : 0000:01:05.0
e0000000-efffffff : PCI MMCONFIG 0 [00-ff]
e0000000-efffffff : reserved
e0000000-efffffff : pnp 00:0a
fda00000-fdafffff : PCI Bus 0000:02
fda00000-fda0ffff : 0000:02:00.0
fdae0000-fdaeffff : 0000:02:00.0
fdae0000-fdaeffff : r8169
fdaff000-fdafffff : 0000:02:00.0
fdaff000-fdafffff : r8169
fdb00000-fdbfffff : PCI Bus 0000:03
fdc00000-fdcfffff : PCI Bus 0000:03
fdcf8000-fdcfbfff : 0000:03:0e.0
fdcff000-fdcff7ff : 0000:03:0e.0
fdcff000-fdcff7ff : firewire_ohci
fdd00000-fddfffff : PCI Bus 0000:02
fde00000-fdffffff : PCI Bus 0000:01
fde00000-fdefffff : 0000:01:05.0
fdfe0000-fdfeffff : 0000:01:05.0
fdffc000-fdffffff : 0000:01:05.1
fe024000-fe027fff : 0000:00:14.2
fe028000-fe028fff : 0000:00:14.5
fe028000-fe028fff : ohci_hcd
fe029000-fe0290ff : 0000:00:13.2
fe029000-fe0290ff : ehci_hcd
fe02a000-fe02afff : 0000:00:13.1
fe02a000-fe02afff : ohci_hcd
fe02b000-fe02bfff : 0000:00:13.0
fe02b000-fe02bfff : ohci_hcd
fe02c000-fe02c0ff : 0000:00:12.2
fe02c000-fe02c0ff : ehci_hcd
fe02d000-fe02dfff : 0000:00:12.1
fe02d000-fe02dfff : ohci_hcd
fe02e000-fe02efff : 0000:00:12.0
fe02e000-fe02efff : ohci_hcd
fe02f000-fe02f3ff : 0000:00:11.0
fe02f000-fe02f3ff : ahci
fec00000-ffffffff : reserved
fec00000-fec00fff : IOAPIC 0
fec00000-fec00fff : pnp 00:0b
fed00000-fed003ff : HPET 0
fee00000-fee00fff : Local APIC
fee00000-fee00fff : pnp 00:0b
fff80000-fffeffff : pnp 00:0b
ffff0000-ffffffff : pnp 00:0b
100000000-12fffffff : System RAM

[8.5.]

00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge
Subsystem: Advanced Micro Devices [AMD] RS780 Host Bridge
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR- INTx-
Latency: 32
Region 3: Memory at <ignored> (64-bit, non-prefetchable)

00:01.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (int gfx) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 99
Bus: primary=00, secondary=01, subordinate=01, sec-latency=68
I/O behind bridge: 0000e000-0000efff
Memory behind bridge: fde00000-fdffffff
Prefetchable memory behind bridge: 00000000d0000000-00000000dfffffff
Secondary status: 66MHz+ FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA- VGA+ MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: [44] HyperTransport: MSI Mapping Enable+ Fixed+
Capabilities: [b0] Subsystem: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (int gfx)
Kernel modules: shpchp

00:0a.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (PCIE port 5) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 4 bytes
Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
I/O behind bridge: 0000d000-0000dfff
Memory behind bridge: fdd00000-fddfffff
Prefetchable memory behind bridge: 00000000fda00000-00000000fdafffff
Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: [50] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [58] Express (v2) Root Port (Slot+), MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
ExtTag+ RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
LnkCap: Port #1, Speed 5GT/s, Width x1, ASPM L0s L1, Latency L0 <64ns, L1 <1us
ClockPM- Suprise- LLActRep+ BwNot+
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt+ ABWMgmt-
SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surpise-
Slot # a, PowerLimit 25.000000; Interlock- NoCompl+
SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-
SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-
Changed: MRL- PresDet+ LinkState+
RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
RootCap: CRSVisible-
RootSta: PME ReqID 0000, PMEStatus- PMEPending-
Capabilities: [a0] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable+
Address: fee0f00c Data: 4159
Capabilities: [b0] Subsystem: Advanced Micro Devices [AMD] Device 9600
Capabilities: [b8] HyperTransport: MSI Mapping Enable+ Fixed+
Capabilities: [100] Vendor Specific Information <?>
Capabilities: [110] Virtual Channel <?>
Kernel driver in use: pcieport-driver
Kernel modules: shpchp

00:11.0 SATA controller: ATI Technologies Inc SB700/SB800 SATA Controller [IDE mode] (prog-if 01 [AHCI 1.0])
Subsystem: Giga-byte Technology Device b002
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32
Interrupt: pin A routed to IRQ 27
Region 0: I/O ports at ff00 [size=8]
Region 1: I/O ports at fe00 [size=4]
Region 2: I/O ports at fd00 [size=8]
Region 3: I/O ports at fc00 [size=4]
Region 4: I/O ports at fb00 [size=16]
Region 5: Memory at fe02f000 (32-bit, non-prefetchable) [size=1K]
Capabilities: [60] Power Management version 2
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+ Queue=0/2 Enable+
Address: 00000000fee0f00c Data: 4189
Capabilities: [70] SATA HBA <?>
Kernel driver in use: ahci
Kernel modules: ahci

00:12.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller (prog-if 10 [OHCI])
Subsystem: Giga-byte Technology Device 5004
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32, Cache Line Size: 4 bytes
Interrupt: pin A routed to IRQ 16
Region 0: Memory at fe02e000 (32-bit, non-prefetchable) [size=4K]
Kernel driver in use: ohci_hcd
Kernel modules: ohci-hcd

00:12.1 USB Controller: ATI Technologies Inc SB700 USB OHCI1 Controller (prog-if 10 [OHCI])
Subsystem: Giga-byte Technology Device 5004
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32, Cache Line Size: 4 bytes
Interrupt: pin A routed to IRQ 16
Region 0: Memory at fe02d000 (32-bit, non-prefetchable) [size=4K]
Kernel driver in use: ohci_hcd
Kernel modules: ohci-hcd

00:12.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller (prog-if 20 [EHCI])
Subsystem: Giga-byte Technology Device 5004
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32, Cache Line Size: 64 bytes
Interrupt: pin B routed to IRQ 17
Region 0: Memory at fe02c000 (32-bit, non-prefetchable) [size=256]
Capabilities: [c0] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Bridge: PM- B3+
Capabilities: [e4] Debug port: BAR=1 offset=00e0
Kernel driver in use: ehci_hcd
Kernel modules: ehci-hcd

00:13.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller (prog-if 10 [OHCI])
Subsystem: Giga-byte Technology Device 5004
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32, Cache Line Size: 4 bytes
Interrupt: pin A routed to IRQ 18
Region 0: Memory at fe02b000 (32-bit, non-prefetchable) [size=4K]
Kernel driver in use: ohci_hcd
Kernel modules: ohci-hcd

00:13.1 USB Controller: ATI Technologies Inc SB700 USB OHCI1 Controller (prog-if 10 [OHCI])
Subsystem: Giga-byte Technology Device 5004
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32, Cache Line Size: 4 bytes
Interrupt: pin A routed to IRQ 18
Region 0: Memory at fe02a000 (32-bit, non-prefetchable) [size=4K]
Kernel driver in use: ohci_hcd
Kernel modules: ohci-hcd

00:13.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller (prog-if 20 [EHCI])
Subsystem: Giga-byte Technology Device 5004
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32, Cache Line Size: 64 bytes
Interrupt: pin B routed to IRQ 19
Region 0: Memory at fe029000 (32-bit, non-prefetchable) [size=256]
Capabilities: [c0] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Bridge: PM- B3+
Capabilities: [e4] Debug port: BAR=1 offset=00e0
Kernel driver in use: ehci_hcd
Kernel modules: ehci-hcd

00:14.0 SMBus: ATI Technologies Inc SBx00 SMBus Controller (rev 3a)
Subsystem: Giga-byte Technology Device 4385
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort+ <MAbort- >SERR+ <PERR+ INTx-
Capabilities: [b0] HyperTransport: MSI Mapping Enable- Fixed+
Kernel driver in use: piix4_smbus
Kernel modules: i2c-piix4

00:14.1 IDE interface: ATI Technologies Inc SB700/SB800 IDE Controller (prog-if 8a [Master SecP PriP])
Subsystem: Giga-byte Technology Device 5002
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32
Interrupt: pin A routed to IRQ 16
Region 0: I/O ports at 01f0 [size=8]
Region 1: I/O ports at 03f4 [size=1]
Region 2: I/O ports at 0170 [size=8]
Region 3: I/O ports at 0374 [size=1]
Region 4: I/O ports at fa00 [size=16]
Capabilities: [70] Message Signalled Interrupts: Mask- 64bit- Queue=0/1 Enable-
Address: 00000000 Data: 0000
Kernel driver in use: ATIIXP_IDE
Kernel modules: ide-pci-generic, atiixp, ata_generic

00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA)
Subsystem: Giga-byte Technology Device a022
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32, Cache Line Size: 4 bytes
Interrupt: pin A routed to IRQ 5
Region 0: Memory at fe024000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Kernel modules: snd-hda-intel

00:14.3 ISA bridge: ATI Technologies Inc SB700/SB800 LPC host controller
Subsystem: ATI Technologies Inc SB700/SB800 LPC host controller
Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0

00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge (prog-if 01 [Subtractive decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop+ ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 64
Bus: primary=00, secondary=03, subordinate=03, sec-latency=64
I/O behind bridge: 0000c000-0000cfff
Memory behind bridge: fdc00000-fdcfffff
Prefetchable memory behind bridge: fdb00000-fdbfffff
Secondary status: 66MHz- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-

00:14.5 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI2 Controller (prog-if 10 [OHCI])
Subsystem: Giga-byte Technology Device 5004
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32, Cache Line Size: 4 bytes
Interrupt: pin C routed to IRQ 18
Region 0: Memory at fe028000 (32-bit, non-prefetchable) [size=4K]
Kernel driver in use: ohci_hcd
Kernel modules: ohci-hcd

00:18.0 Host bridge: Advanced Micro Devices [AMD] Family 10h [Opteron, Athlon64, Sempron] HyperTransport Configuration
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Capabilities: [80] HyperTransport: Host or Secondary Interface
Command: WarmRst+ DblEnd- DevNum=0 ChainSide- HostHide+ Slave- <EOCErr- DUL-
Link Control: CFlE- CST- CFE- <LkFail- Init+ EOC- TXO- <CRCErr=0 IsocEn- LSEn- ExtCTL- 64b-
Link Config: MLWI=16bit DwFcIn- MLWO=16bit DwFcOut- LWI=16bit DwFcInEn- LWO=16bit DwFcOutEn-
Revision ID: 3.00
Link Frequency: [a]
Link Error: <Prot- <Ovfl- <EOC- CTLTm-
Link Frequency Capability: 200MHz+ 300MHz- 400MHz+ 500MHz- 600MHz+ 800MHz+ 1.0GHz+ 1.2GHz+ 1.4GHz- 1.6GHz- Vend-
Feature Capability: IsocFC+ LDTSTOP+ CRCTM- ECTLT- 64bA+ UIDRD- ExtRS- UCnfE-

00:18.1 Host bridge: Advanced Micro Devices [AMD] Family 10h [Opteron, Athlon64, Sempron] Address Map
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-

00:18.2 Host bridge: Advanced Micro Devices [AMD] Family 10h [Opteron, Athlon64, Sempron] DRAM Controller
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-

00:18.3 Host bridge: Advanced Micro Devices [AMD] Family 10h [Opteron, Athlon64, Sempron] Miscellaneous Control
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Capabilities: [f0] Secure device <?>

00:18.4 Host bridge: Advanced Micro Devices [AMD] Family 10h [Opteron, Athlon64, Sempron] Link Control
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-

01:05.0 VGA compatible controller: ATI Technologies Inc Radeon HD 3200 Graphics (prog-if 00 [VGA controller])
Subsystem: Giga-byte Technology Device d000
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 4 bytes
Interrupt: pin A routed to IRQ 10
Region 0: Memory at d0000000 (32-bit, prefetchable) [size=256M]
Region 1: I/O ports at ee00 [size=256]
Region 2: Memory at fdfe0000 (32-bit, non-prefetchable) [size=64K]
Region 5: Memory at fde00000 (32-bit, non-prefetchable) [size=1M]
Capabilities: [50] Power Management version 3
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [a0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-
Address: 0000000000000000 Data: 0000

01:05.1 Audio device: ATI Technologies Inc RS780 Azalia controller
Subsystem: ATI Technologies Inc RS780 Azalia controller
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 4 bytes
Interrupt: pin B routed to IRQ 7
Region 0: Memory at fdffc000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [50] Power Management version 3
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [a0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-
Address: 0000000000000000 Data: 0000
Kernel modules: snd-hda-intel

02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)
Subsystem: Giga-byte Technology Device e000
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 26
Region 0: I/O ports at de00 [size=256]
Region 2: Memory at fdaff000 (64-bit, prefetchable) [size=4K]
Region 4: Memory at fdae0000 (64-bit, prefetchable) [size=64K]
[virtual] Expansion ROM at fda00000 [disabled] [size=64K]
Capabilities: [40] Power Management version 3
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+ Queue=0/1 Enable+
Address: 00000000fee0f00c Data: 4171
Capabilities: [70] Express (v1) Endpoint, MSI 01
DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <512ns, L1 <8us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 512 bytes
DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr+ TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <512ns, L1 <64us
ClockPM+ Suprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
Capabilities: [b0] MSI-X: Enable- Mask- TabSize=2
Vector table: BAR=4 offset=00000000
PBA: BAR=4 offset=00000800
Capabilities: [d0] Vital Product Data <?>
Capabilities: [100] Advanced Error Reporting <?>
Capabilities: [140] Virtual Channel <?>
Capabilities: [160] Device Serial Number 78-56-34-12-78-56-34-12
Kernel driver in use: r8169
Kernel modules: r8169

03:0e.0 FireWire (IEEE 1394): Texas Instruments TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) (prog-if 10 [OHCI])
Subsystem: Giga-byte Technology Device 1000
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32 (500ns min, 1000ns max), Cache Line Size: 4 bytes
Interrupt: pin A routed to IRQ 22
Region 0: Memory at fdcff000 (32-bit, non-prefetchable) [size=2K]
Region 1: Memory at fdcf8000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [44] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME+
Kernel driver in use: firewire_ohci
Kernel modules: firewire-ohci


[8.6.] N/A

[8.7.] See attached

[X.] N/A


Thanks
Ian


Attachments:
(No filename) (35.78 kB)
rt2x00usb.dmesg.log.gz (17.08 kB)
rt2x00usb.dmesg.rmmod-ehci_hcd.log.gz (19.81 kB)
Download all attachments

2009-07-10 17:09:13

by Steve Calfee

[permalink] [raw]
Subject: Re: PROBLEM: USB wlan device stops working; ehci "kernel BUG"

On Fri, Jul 10, 2009 at 7:32 AM, Ian Lynagh<[email protected]> wrote:
>
> Hi all,
>
> [1.] PROBLEM: USB wlan device stops working; ehci "kernel BUG"
>
> [2.]
>
> I am having a problem with an rt73usb and/or ehci. I /think/ the bug is
> in ehci, and the rt73usb problems are just a symptom, but I'm not sure.
>
> The actual problem is that after a while (generally a few days, I think)
> my USB wireless device stops working. I've attached the dmesg log at the
> point that I noticed it stopped working today; unfortunately, I don't
> know exactly when it broke. My guess is it was at this line, though:
>
> [582576.209231] ehci_hcd 0000:00:12.2: force halt; handhake ffffc20000636024 00004000 00000000 -> -110
>
Hi I've seen this too. Once the "handhake" error happens, the ehci
controller is off line until a reboot. Connect/disconnect is no longer
detected on any port. I did not try to see if rmmod/insmod for echi
fixed the problem.

I caused it with a very heavy bulk load (flash to flash copy), and
then lots of control traffic to another device (a scanner and once a
webcam) while the third device was starting up. It seemed very timing
sensitive.

<snip>

> 00:12.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller (prog-if 20 [EHCI])
>        Subsystem: Giga-byte Technology Device 5004
>        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
>        Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
>        Latency: 32, Cache Line Size: 64 bytes
>        Interrupt: pin B routed to IRQ 17
>        Region 0: Memory at fe02c000 (32-bit, non-prefetchable) [size=256]
>        Capabilities: [c0] Power Management version 2
>                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-)
>                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
>                Bridge: PM- B3+
>        Capabilities: [e4] Debug port: BAR=1 offset=00e0
>        Kernel driver in use: ehci_hcd
>        Kernel modules: ehci-hcd
>

And this is the southbridge where I had the problem, too. On an
earlier kernel someone at AMD presented some patches to ehci for the
sb600 and sb700 which had some startup hang problems. I think they
will need to be consulted for a workaround for this problem.

I no longer have access to the system where I ran into the problem, so
I cannot give more details, sorry.

Regards, Steve

2009-07-10 15:09:48

by Pavel Roskin

[permalink] [raw]
Subject: Re: PROBLEM: USB wlan device stops working; ehci "kernel BUG"

On Fri, 2009-07-10 at 15:32 +0100, Ian Lynagh wrote:
> Hi all,
>
> [1.] PROBLEM: USB wlan device stops working; ehci "kernel BUG"
>
> [2.]
>
> I am having a problem with an rt73usb and/or ehci. I /think/ the bug is
> in ehci, and the rt73usb problems are just a symptom, but I'm not sure.

Actually, I'm using the current wireless-testing, and I'm getting
following in the kernel log on rt73us unload:

usbcore: deregistering interface driver rt73usb
=============================================================================
BUG kmalloc-16: Redzone overwritten
-----------------------------------------------------------------------------

INFO: 0xffff88012d860f88-0xffff88012d860f8b. First byte 0xb instead of 0xcc
INFO: Allocated in rt2x00usb_probe+0xb9/0x180 [rt2x00usb] age=6413897 cpu=1 pid=21955
INFO: Freed in fsnotify_put_event+0x3b/0x70 age=16350710 cpu=3 pid=2508
INFO: Slab 0xffffea00067a6100 objects=46 used=46 fp=0x(null) flags=0x8000000000000083
INFO: Object 0xffff88012d860f78 @offset=3960 fp=0x(null)

Bytes b4 0xffff88012d860f68: 0d 49 0a 00 01 00 00 00 5a 5a 5a 5a 5a 5a 5a 5a .I......ZZZZZZZZ
Object 0xffff88012d860f78: 00 00 00 00 0c 2c 00 00 86 07 00 00 51 8e 06 00 .....,......Q...
Redzone 0xffff88012d860f88: 0b ba 0c 00 cc cc cc cc .?..????
Padding 0xffff88012d860fc8: 5a 5a 5a 5a 5a 5a 5a 5a ZZZZZZZZ
Pid: 3978, comm: rmmod Not tainted 2.6.31-rc2-wl #153
Call Trace:
[<ffffffff810a42a1>] print_trailer+0x101/0x170
[<ffffffff810a49d2>] check_bytes_and_report+0xf2/0x120
[<ffffffffa01df098>] ? rt2x00usb_free_reg+0x18/0x60 [rt2x00usb]
[<ffffffff810a4a65>] check_object+0x65/0x260
[<ffffffffa01df098>] ? rt2x00usb_free_reg+0x18/0x60 [rt2x00usb]
[<ffffffff810a5563>] __slab_free+0x203/0x330
[<ffffffffa01df098>] ? rt2x00usb_free_reg+0x18/0x60 [rt2x00usb]
[<ffffffff810a6d47>] kfree+0xf7/0x130
[<ffffffffa01df098>] rt2x00usb_free_reg+0x18/0x60 [rt2x00usb]
[<ffffffffa01df113>] rt2x00usb_disconnect+0x33/0x70 [rt2x00usb]
[<ffffffff812b8764>] usb_unbind_interface+0xb4/0x100
[<ffffffff81255e11>] __device_release_driver+0x61/0xc0
[<ffffffff81255f30>] driver_detach+0xc0/0xd0
[<ffffffff81254fa7>] bus_remove_driver+0x97/0xc0
[<ffffffff812564f9>] driver_unregister+0x59/0x90
[<ffffffff812b847e>] usb_deregister+0xbe/0xd0
[<ffffffffa01e7784>] rt73usb_exit+0x10/0x12 [rt73usb]
[<ffffffff8106f1d5>] sys_delete_module+0x185/0x260
[<ffffffff8100bd69>] ? retint_swapgs+0xe/0x13
[<ffffffff81063f15>] ? trace_hardirqs_on_caller+0x145/0x190
[<ffffffff813c686e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
[<ffffffff8100b32b>] system_call_fastpath+0x16/0x1b
FIX kmalloc-16: Restoring 0xffff88012d860f88-0xffff88012d860f8b=0xcc

So I think rt73usb is the main suspect. Before this is fixed, we should
probably not suspect EHCI.

--
Regards,
Pavel Roskin

2009-07-10 17:59:34

by Alan Stern

[permalink] [raw]
Subject: Re: PROBLEM: USB wlan device stops working; ehci "kernel BUG"

On Fri, 10 Jul 2009, David Brownell wrote:

> On Friday 10 July 2009, Ian Lynagh wrote:
> > [582730.178212] kernel BUG at .../drivers/usb/host/ehci-mem.c:74!
>
> Note that this is a *SECONDARY* failure ... the endpoint hardware
> is still in use, but it should have been shut down already. So
> the interesting question is: what was the *PRIMARY* failure?
>
> So I'd suggest that the WLAN device driver has at least three bugs:
>
> 1 The error logging should use dev_err() etc so that it shows which
> USB device it came from; "phy0 -> rt2x00usb_vendor_request" etc
> just leaves us guessing.
>
> 2 The first one, which prevented it from working and caused
> all the syslog spam that wasn't triggered by seeming bugs
> in userspace code (those "derefnull" and "divbyzero" utils,
> also "ghc"); presumably the PHY code is at least one issue.
> Maybe it's just mis-handling something at high speed...
>
> 3 The driver's likely doing *something wrong* in disconnect().
> Maybe returning while a control message is outstanding; that
> might cause the above BUG(), ISTR there was a hole of that
> shape in the USB stack a few years ago.
>
> I'm skeptical that the BUG() above would trigger without a driver
> first misbehaving. This is not a common BUG(); something else
> made it happen. My guess is #3 above. The first two seem very
> apparent just from looking at the syslog data provided.

That BUG normally cannot be triggered by a driver error. It happened
during module unloading, which means all the devices from the root hub
on down must have been removed and their endpoints flushed and
disabled. If a QH's list is still nonempty, it must be because some
qTD wasn't properly removed -- probably because of the HC_STATE_HALT
setting.

This particular error path has gotten very little testing. We
shouldn't be surprised to see that it's not working quite right.

In this case the primary failure was most likely either a hardware bug
in the SB700 controller or (less likely) a bug in the rt73usb driver,
as noted by other people.

Alan Stern


2009-07-10 17:50:30

by David Brownell

[permalink] [raw]
Subject: Re: PROBLEM: USB wlan device stops working; ehci "kernel BUG"

On Friday 10 July 2009, Ian Lynagh wrote:
> [582730.178212] kernel BUG at .../drivers/usb/host/ehci-mem.c:74!

Note that this is a *SECONDARY* failure ... the endpoint hardware
is still in use, but it should have been shut down already. So
the interesting question is: what was the *PRIMARY* failure?

So I'd suggest that the WLAN device driver has at least three bugs:

1 The error logging should use dev_err() etc so that it shows which
USB device it came from; "phy0 -> rt2x00usb_vendor_request" etc
just leaves us guessing.

2 The first one, which prevented it from working and caused
all the syslog spam that wasn't triggered by seeming bugs
in userspace code (those "derefnull" and "divbyzero" utils,
also "ghc"); presumably the PHY code is at least one issue.
Maybe it's just mis-handling something at high speed...

3 The driver's likely doing *something wrong* in disconnect().
Maybe returning while a control message is outstanding; that
might cause the above BUG(), ISTR there was a hole of that
shape in the USB stack a few years ago.

I'm skeptical that the BUG() above would trigger without a driver
first misbehaving. This is not a common BUG(); something else
made it happen. My guess is #3 above. The first two seem very
apparent just from looking at the syslog data provided.

- Dave