USB-Problems with uhci_hcd + V4L + stv680 driver

From: Paolo Ornati
Date: Tue Sep 30 2003 - 10:06:46 EST


[1.] One line summary of the problem:
Problems with USB (uhci_hcd) + V4L + stv680 driver

[2.] Full description of the problem/report:
The problem is quite simple: when I use UHCI_HDC + V4L + stv680
drivers and the program "Camorama" to see the video "produced" by my
Web-Cam (OREGON Scientific DS-3868) all seem to work fine...
but after some time (that is variable) the video stops on a frame!
Then If I unplug and then replug my Web-Cam I get an Oops!

Kernel config attached.
Any idea?

(PLEASE CC me, I'm not subscribed to the USB-DEVEL mailing list)

[4.] Kernel version (from /proc/version):
Linux version 2.6.0-test6 (javaman@paolo) (gcc version 3.2.3) #7 Sun Sep 28 12:03:56 CEST 2003

[5.] Output of Oops:
Unable to handle kernel NULL pointer dereference at virtual address 00000005
printing eip:
cf92f2d4
*pde = 00000000
Oops: 0000 [#1]
CPU: 0
EIP: 0060:[<cf92f2d4>] Not tainted
EFLAGS: 00010292
EIP is at stv_set_config+0x24/0xd0 [stv680]
eax: 00000000 ebx: 00000001 ecx: 00000000 edx: c1347800
esi: c27d1200 edi: 00000000 ebp: c5b81b40 esp: c5bc5e08
ds: 007b es: 007b ss: 0068
Process camorama (pid: 686, threadinfo=c5bc4000 task=c0c68040)
Stack: c4cedb80 00000002 000003e8 c4cedb80 c4cedb80 c27d1200 c5b8426c cf92f40a
c27d1200 00000001 00000000 00000000 c4cedb80 00000002 c27d1200 c670e7c0
c5b8426c cf931756 c27d1200 c0326e50 c670e8c0 c670e7c0 c7fe02c0 c014ecf3
Call Trace:
[<cf92f40a>] stv_stop_video+0x8a/0x2c0 [stv680]
[<cf931756>] stv_close+0x36/0xd0 [stv680]
[<c014ecf3>] __fput+0xb3/0xd0
[<c014d399>] filp_close+0x59/0x90
[<c011c497>] put_files_struct+0x57/0xc0
[<c011d11f>] do_exit+0x15f/0x340
[<c011d3db>] do_group_exit+0x7b/0xb0
[<c01263a1>] get_signal_to_deliver+0x1f1/0x380
[<c010914e>] do_signal+0xce/0x100
[<c0160e1a>] do_poll+0x6a/0xd0
[<cf931d7f>] stv680_ioctl+0x2f/0x40 [stv680]
[<cf9317f0>] stv680_do_ioctl+0x0/0x560 [stv680]
[<c015fb7d>] sys_ioctl+0xbd/0x280
[<c01091d6>] do_notify_resume+0x56/0x58
[<c01093b2>] work_notifysig+0x13/0x15

Code: 0f b6 40 05 39 c3 74 46 8b 0d ac 55 93 cf 85 c9 75 1a ba ff

[7.] Environment
[7.1.] Software (add the output of the ver_linux script here)
Gnu C 3.2.3
Gnu make 3.80
util-linux 2.11z
mount 2.11z
e2fsprogs 1.33
jfsutils 1.1.1
reiserfsprogs 3.6.4
xfsprogs 2.3.5
quota-tools 3.08.
PPP 2.4.1
isdn4k-utils 3.2p1
Linux C Library 2.3.1
Dynamic linker (ldd) 2.3.1
Linux C++ Library 5.0.3
Procps 2.0.13
Net-tools 1.60
Kbd 1.08
Sh-utils 5.0
Modules Loaded stv680 uhci_hcd

[7.2.] Processor information (from /proc/cpuinfo):
processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 3
model name : AMD Duron(tm) Processor
stepping : 1
cpu MHz : 756.826
cache size : 64 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca
cmov pat pse36 mmx fxsr syscall mmxext 3dnowext 3dnow
bogomips : 1490.94

[7.3.] Module information (from /proc/modules):
stv680 27264 - - Live 0xcf92f000
uhci_hcd 30216 - - Live 0xcb91b000

[7.4.] Loaded driver and hardware information (/proc/ioports, /proc/iomem)
/proc/ioports:
0000-001f : dma1
0020-0021 : pic1
0040-005f : timer
0060-006f : keyboard
0070-0077 : rtc
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
01f0-01f7 : ide0
02f8-02ff : serial
0376-0376 : ide1
0378-037a : parport0
037b-037f : parport0
03c0-03df : vga+
03f6-03f6 : ide0
03f8-03ff : serial
0cf8-0cff : PCI conf1
6800-683f : 0000:00:11.0
7000-7003 : 0000:00:11.0
7400-7407 : 0000:00:11.0
7800-7803 : 0000:00:11.0
8000-8007 : 0000:00:11.0
8400-8407 : 0000:00:0d.0
8800-880f : 0000:00:0b.1
9000-907f : 0000:00:0b.0
9000-907f : FM801
9400-94ff : 0000:00:09.0
b000-b01f : 0000:00:04.3
b000-b01f : uhci-hcd
b400-b41f : 0000:00:04.2
b400-b41f : uhci-hcd
b800-b80f : 0000:00:04.1
b800-b807 : ide0
b808-b80f : ide1
d000-dfff : PCI Bus #01
d800-d8ff : 0000:01:00.0
d800-d8ff : tdfx iobase
e200-e27f : 0000:00:04.4
e400-e4ff : 0000:00:04.4
e800-e80f : 0000:00:04.4

/proc/iomem:
00000000-0009fbff : System RAM
0009fc00-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000c7fff : Video ROM
000f0000-000fffff : System ROM
00100000-07febfff : System RAM
00100000-002df106 : Kernel code
002df107-0038e0ff : Kernel data
07fec000-07feefff : ACPI Tables
07fef000-07ffefff : reserved
07fff000-07ffffff : ACPI Non-volatile Storage
de800000-de81ffff : 0000:00:11.0
df000000-df0000ff : 0000:00:0d.0
df800000-df8000ff : 0000:00:09.0
e0000000-e3dfffff : PCI Bus #01
e0000000-e1ffffff : 0000:01:00.0
e0000000-e1ffffff : tdfx regbase
e3f00000-e5ffffff : PCI Bus #01
e4000000-e5ffffff : 0000:01:00.0
e4000000-e5ffffff : tdfx smem
e6000000-e7ffffff : 0000:00:00.0
ffff0000-ffffffff : reserved

[7.5.] PCI information ('lspci -vvv' as root)
00:00.0 Host bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133] (rev 02)
Subsystem: Asustek Computer, Inc. A7V Mainboard
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
Latency: 8
Region 0: Memory at e6000000 (32-bit, prefetchable) [size=32M]
Capabilities: [a0] AGP version 2.0
Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3- Rate=x1,x2
Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none>
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-

00:01.0 PCI bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133 AGP] (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
Latency: 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
I/O behind bridge: 0000d000-0000dfff
Memory behind bridge: e0000000-e3dfffff
Prefetchable memory behind bridge: e3f00000-e5ffffff
BridgeCtl: Parity- SERR- NoISA- VGA+ MAbort- >Reset- FastB2B-
Capabilities: [80] 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-

00:04.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 22)
Subsystem: Asustek Computer, Inc. A7V Mainboard
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0

00:04.1 IDE interface: VIA Technologies, Inc. VT82C586/B/686A/B PIPC Bus Master IDE (rev 10) (prog-if 8a [Master SecP PriP])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32
Region 4: I/O ports at b800 [size=16]
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-

00:04.2 USB Controller: VIA Technologies, Inc. USB (rev 10) (prog-if 00 [UHCI])
Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32, cache line size 08
Interrupt: pin D routed to IRQ 5
Region 4: I/O ports at b400 [size=32]
Capabilities: [80] 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-

00:04.3 USB Controller: VIA Technologies, Inc. USB (rev 10) (prog-if 00 [UHCI])
Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32, cache line size 08
Interrupt: pin D routed to IRQ 5
Region 4: I/O ports at b000 [size=32]
Capabilities: [80] 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-

00:04.4 Bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 30)
Subsystem: Asustek Computer, Inc. A7V Mainboard
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin ? routed to IRQ 9
Capabilities: [68] 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-

00:09.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
Subsystem: Realtek Semiconductor Co., Ltd. RT8139
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (8000ns min, 16000ns max)
Interrupt: pin A routed to IRQ 5
Region 0: I/O ports at 9400 [size=256]
Region 1: Memory at df800000 (32-bit, non-prefetchable) [size=256]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0-,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:0b.0 Multimedia audio controller: Fortemedia, Inc Xwave QS3000A [FM801] (rev b2)
Subsystem: Fortemedia, Inc: Unknown device 1319
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (1000ns min, 10000ns max)
Interrupt: pin A routed to IRQ 10
Region 0: I/O ports at 9000 [size=128]
Capabilities: [dc] Power Management version 1
Flags: PMEClk- DSI+ D1- D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:0b.1 Input device controller: Fortemedia, Inc Xwave QS3000A [FM801 game port] (rev b2)
Subsystem: Fortemedia, Inc: Unknown device 1319
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (1000ns min, 10000ns max)
Region 0: I/O ports at 8800 [size=16]
Capabilities: [dc] Power Management version 1
Flags: PMEClk- DSI+ D1+ D2- AuxCurrent=0mA PME(D0-,D1+,D2-,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:0d.0 Network controller: Cologne Chip Designs GmbH ISDN network controller [HFC-PCI] (rev 02)
Subsystem: Cologne Chip Designs GmbH ISDN Board
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 16 (4000ns max)
Interrupt: pin A routed to IRQ 5
Region 0: I/O ports at 8400 [size=8]
Region 1: Memory at df000000 (32-bit, non-prefetchable) [size=256]
Capabilities: [40] Power Management version 1
Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:11.0 Unknown mass storage controller: Promise Technology, Inc. 20265 (rev 02)
Subsystem: Promise Technology, Inc. Ultra100
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32
Interrupt: pin A routed to IRQ 10
Region 0: I/O ports at 8000 [size=8]
Region 1: I/O ports at 7800 [size=4]
Region 2: I/O ports at 7400 [size=8]
Region 3: I/O ports at 7000 [size=4]
Region 4: I/O ports at 6800 [size=64]
Region 5: Memory at de800000 (32-bit, non-prefetchable) [size=128K]
Expansion ROM at <unassigned> [disabled] [size=64K]
Capabilities: [58] Power Management version 1
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

01:00.0 VGA compatible controller: 3Dfx Interactive, Inc. Voodoo Banshee (rev 03) (prog-if 00 [VGA])
Subsystem: Creative Labs 3D Blaster Banshee VE
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin A routed to IRQ 11
Region 0: Memory at e0000000 (32-bit, non-prefetchable) [size=32M]
Region 1: Memory at e4000000 (32-bit, prefetchable) [size=32M]
Region 2: I/O ports at d800 [size=256]
Expansion ROM at e3ff0000 [disabled] [size=64K]
Capabilities: [54] AGP version 1.0
Status: RQ=8 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit+ FW- AGP3- Rate=x1
Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none>
Capabilities: [60] Power Management version 1
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

--
Paolo Ornati
Linux v2.4.22

Attachment: config-2.6.gz
Description: GNU Zip compressed data