Hi,
I'm currently debugging linux-2.6.7/drivers/isdn/hisax/hfc_usb.c ...
this is an ISDN TA using three int-in endpoints and three iso-out endpoints. the iso-out endpoints are using double buffered urbs to have seamless iso traffic.
hfc_usb.c (lines 1287 to 1289) is calling three times start_isoc_chain, the routine to start the double buffering iso urbs for each endpoint. If I start each of these three calls alone, the iso traffic I started is running. but as soon as the a second call of start_isoc_chain reaches the usb_submit_urb at line 594 inside start_isoc_chain, the driver crashes. (message log below)
I have no idea what is going wrong here, or how to go forward. I hope anyone can see what the driver can do better....
Thanks, Martin
MessageLog:
Jul 14 10:35:08 martinb3 kernel: HFC-USB: starting intr IN fifo:5
Jul 14 10:35:08 martinb3 kernel: drivers/usb/host/ehci-sched.c: scheduled qh c1347200 usecs 8/16 period 4.0 starting 2.0 (gap 1)
Jul 14 10:35:08 martinb3 kernel: HFC-USB: starting intr IN fifo:1
Jul 14 10:35:08 martinb3 kernel: drivers/usb/host/ehci-sched.c: scheduled qh c1347280 usecs 8/16 period 4.0 starting 1.0 (gap 1)
Jul 14 10:35:08 martinb3 kernel: HFC-USB: starting intr IN fifo:3
Jul 14 10:35:08 martinb3 kernel: drivers/usb/host/ehci-sched.c: scheduled qh c1347300 usecs 8/16 period 4.0 starting 0.0 (gap 1)
Jul 14 10:35:08 martinb3 kernel: HFC-USB: starting ISO-chain for Fifo 4
Jul 14 10:35:08 martinb3 kernel: HFC-USB: starting ISO-chain for Fifo 0
Jul 14 10:35:08 martinb3 kernel: Unable to handle kernel paging request at virtual address 03020733
Jul 14 10:35:08 martinb3 kernel: printing eip:
Jul 14 10:35:08 martinb3 kernel: c034a3f4
Jul 14 10:35:08 martinb3 kernel: *pde = 00000000
Jul 14 10:35:08 martinb3 kernel: Oops: 0000 [#1]
Jul 14 10:35:08 martinb3 kernel: PREEMPT
Jul 14 10:35:08 martinb3 kernel: Modules linked in: hfc_usb hisax isdn slhc
Jul 14 10:35:08 martinb3 kernel: CPU: 0
Jul 14 10:35:08 martinb3 kernel: EIP: 0060:[<c034a3f4>] Not tainted
Jul 14 10:35:08 martinb3 kernel: EFLAGS: 00010046 (2.6.7)
Jul 14 10:35:08 martinb3 kernel: EIP is at tt_no_collision+0x9a/0x13e
Jul 14 10:35:08 martinb3 kernel: eax: 03020703 ebx: cab182a0 ecx: 00000040 edx: cf390400
Jul 14 10:35:08 martinb3 kernel: esi: 00000113 edi: c134cc00 ebp: 00000400 esp: c13ebb68
Jul 14 10:35:08 martinb3 kernel: ds: 007b es: 007b ss: 0068
Jul 14 10:35:08 martinb3 kernel: Process khubd (pid: 26, threadinfo=c13ea000 task=cfe51280)
Jul 14 10:35:08 martinb3 kernel: Stack: cf390400 cf390400 000007cc 0000008c c1347200 c1345000 c1344000 00000000
Jul 14 10:35:08 martinb3 kernel: 00000003 00002000 0000089b c034ba31 c134cc00 00000040 cf390400 00000013
Jul 14 10:35:08 martinb3 kernel: 00000008 c134cc00 cfe00d38 0000005c 00000013 00000008 0000009b ca7ceb68
Jul 14 10:35:08 martinb3 kernel: Call Trace:
Jul 14 10:35:08 martinb3 kernel: [<c034ba31>] iso_stream_schedule+0x279/0x3e7
Jul 14 10:35:08 martinb3 kernel: [<c034cd0c>] sitd_submit+0x133/0x2c0
Jul 14 10:35:08 martinb3 kernel: [<c0119e2c>] __wake_up_common+0x3f/0x5e
Jul 14 10:35:08 martinb3 kernel: [<c034e373>] ehci_urb_enqueue+0xa5/0xfc
Jul 14 10:35:08 martinb3 kernel: [<c03383c5>] hcd_submit_urb+0x1ce/0x2c2
Jul 14 10:35:08 martinb3 kernel: [<c012037a>] release_console_sem+0x2bf/0x2cb
Jul 14 10:35:08 martinb3 kernel: [<c0339b2c>] usb_submit_urb+0x27f/0x374
Jul 14 10:35:08 martinb3 kernel: [<c0339803>] usb_init_urb+0x2e/0x64
Jul 14 10:35:08 martinb3 kernel: [<d091c72f>] start_isoc_chain+0x58/0x16c [hfc_usb]
Jul 14 10:35:08 martinb3 kernel: [<d091c8ff>] tx_iso_complete+0x0/0x471 [hfc_usb]
Jul 14 10:35:08 martinb3 kernel: [<d091e2aa>] usb_init+0x933/0xa72 [hfc_usb]
Jul 14 10:35:08 martinb3 kernel: [<d091c8ff>] tx_iso_complete+0x0/0x471 [hfc_usb]
Jul 14 10:35:08 martinb3 kernel: [<d091e9f2>] hfc_usb_probe+0x609/0x84c [hfc_usb]
Jul 14 10:35:08 martinb3 kernel: [<c03313e9>] usb_probe_interface+0xc7/0xe3
Jul 14 10:35:08 martinb3 kernel: [<c02e3d3f>] bus_match+0x3f/0x7a
Jul 14 10:35:08 martinb3 kernel: [<c02e3dc7>] device_attach+0x4d/0xbd
Jul 14 10:35:08 martinb3 kernel: [<c02e3fcf>] bus_add_device+0x75/0xbd
Jul 14 10:35:08 martinb3 kernel: [<c02e2e67>] device_add+0xa5/0x147
Jul 14 10:35:08 martinb3 kernel: [<c033bb44>] usb_set_configuration+0x409/0x472
Jul 14 10:35:08 martinb3 kernel: [<c03324bc>] usb_new_device+0x12f/0x32b
Jul 14 10:35:08 martinb3 kernel: [<c0335807>] hub_port_connect_change+0x208/0x446
Jul 14 10:35:08 martinb3 kernel: [<c0335f22>] hub_events+0x4dd/0x66c
Jul 14 10:35:08 martinb3 kernel: [<c03360fe>] hub_thread+0x4d/0xf8
Jul 14 10:35:08 martinb3 kernel: [<c01058a6>] ret_from_fork+0x6/0x14
Jul 14 10:35:08 martinb3 kernel: [<c0119ddb>] default_wake_function+0x0/0x12
Jul 14 10:35:08 martinb3 kernel: [<c03360b1>] hub_thread+0x0/0xf8
Jul 14 10:35:08 martinb3 kernel: [<c0103261>] kernel_thread_helper+0x5/0xb
Jul 14 10:35:08 martinb3 kernel:
Jul 14 10:35:08 martinb3 kernel: Code: 8b 40 30 89 14 24 89 44 24 04 e8 0a ff ff ff 85 c0 75 6b 8b
Jul 14 10:35:08 martinb3 kernel: drivers/usb/host/ehci-hcd.c:703: spin_lock(drivers/usb/host/ehci-hcd.c:c134cc00) already locked by drivers/usb/host/ehci-sch
ed.c/1758
Jul 14 10:35:08 martinb3 kernel: HFC-USB: new S0 state:3 old_state:0
Jul 14 10:35:08 martinb3 kernel: drivers/usb/host/ehci-sched.c: descheduled qh c1347280, period = 4 frame = 1025 count = 2, urbs = 5
Jul 14 10:35:08 martinb3 kernel: drivers/usb/host/ehci-sched.c: descheduled qh c1347200, period = 4 frame = 1026 count = 2, urbs = 4
Jul 14 10:35:08 martinb3 kernel: drivers/usb/host/ehci-sched.c: descheduled qh c1347300, period = 4 frame = 1024 count = 2, urbs = 3
Jul 14 10:35:08 martinb3 kernel: note: khubd[26] exited with preempt_count 1
Jul 14 10:35:08 martinb3 kernel: Debug: sleeping function called from invalid context at include/linux/rwsem.h:43
Jul 14 10:35:08 martinb3 kernel: in_atomic():1, irqs_disabled():0
Jul 14 10:35:08 martinb3 kernel: [<c011b1dd>] __might_sleep+0xc0/0xd0
Jul 14 10:35:08 martinb3 kernel: [<c0120b4d>] profile_exit_task+0x1d/0x58
Jul 14 10:35:08 martinb3 kernel: [<c01231f7>] do_exit+0x79/0x95d
Jul 14 10:35:08 martinb3 kernel: [<c0117221>] do_page_fault+0x0/0x598
Jul 14 10:35:08 martinb3 kernel: [<c01063d5>] do_divide_error+0x0/0x133
Jul 14 10:35:08 martinb3 kernel: [<c0117626>] do_page_fault+0x405/0x598
Jul 14 10:35:08 martinb3 kernel: [<c014a6c1>] __alloc_pages+0x2e1/0x38f
Jul 14 10:35:08 martinb3 kernel: [<c014a78e>] __get_free_pages+0x1f/0x3b
Jul 14 10:35:08 martinb3 kernel: [<c010e673>] dma_alloc_coherent+0x47/0x7a
Jul 14 10:35:08 martinb3 kernel: [<c02e6048>] pool_alloc_page+0x65/0xbf
Jul 14 10:35:08 martinb3 kernel: [<c0117221>] do_page_fault+0x0/0x598
Jul 14 10:35:08 martinb3 kernel: [<c0105b79>] error_code+0x2d/0x38
Jul 14 10:35:08 martinb3 kernel: [<c034a3f4>] tt_no_collision+0x9a/0x13e
Jul 14 10:35:08 martinb3 kernel: [<c034ba31>] iso_stream_schedule+0x279/0x3e7
Jul 14 10:35:08 martinb3 kernel: [<c034cd0c>] sitd_submit+0x133/0x2c0
Jul 14 10:35:08 martinb3 kernel: [<c0119e2c>] __wake_up_common+0x3f/0x5e
Jul 14 10:35:08 martinb3 kernel: [<c034e373>] ehci_urb_enqueue+0xa5/0xfc
Jul 14 10:35:08 martinb3 kernel: [<c03383c5>] hcd_submit_urb+0x1ce/0x2c2
Jul 14 10:35:08 martinb3 kernel: [<c012037a>] release_console_sem+0x2bf/0x2cb
Jul 14 10:35:08 martinb3 kernel: [<c0339b2c>] usb_submit_urb+0x27f/0x374
Jul 14 10:35:08 martinb3 kernel: [<c0339803>] usb_init_urb+0x2e/0x64
Jul 14 10:35:08 martinb3 kernel: [<d091c72f>] start_isoc_chain+0x58/0x16c [hfc_usb]
Jul 14 10:35:08 martinb3 kernel: [<d091c8ff>] tx_iso_complete+0x0/0x471 [hfc_usb]
Jul 14 10:35:08 martinb3 kernel: [<d091e2aa>] usb_init+0x933/0xa72 [hfc_usb]
Jul 14 10:35:08 martinb3 kernel: [<d091c8ff>] tx_iso_complete+0x0/0x471 [hfc_usb]
Jul 14 10:35:08 martinb3 kernel: [<d091e9f2>] hfc_usb_probe+0x609/0x84c [hfc_usb]
Jul 14 10:35:08 martinb3 kernel: [<c03313e9>] usb_probe_interface+0xc7/0xe3
Jul 14 10:35:08 martinb3 kernel: [<c02e3d3f>] bus_match+0x3f/0x7a
Jul 14 10:35:08 martinb3 kernel: [<c02e3dc7>] device_attach+0x4d/0xbd
Jul 14 10:35:08 martinb3 kernel: [<c02e3fcf>] bus_add_device+0x75/0xbd
Jul 14 10:35:08 martinb3 kernel: [<c02e2e67>] device_add+0xa5/0x147
Jul 14 10:35:08 martinb3 kernel: [<c033bb44>] usb_set_configuration+0x409/0x472
Jul 14 10:35:08 martinb3 kernel: [<c03324bc>] usb_new_device+0x12f/0x32b
Jul 14 10:35:08 martinb3 kernel: [<c0335807>] hub_port_connect_change+0x208/0x446
Jul 14 10:35:08 martinb3 kernel: [<c0335f22>] hub_events+0x4dd/0x66c
Jul 14 10:35:08 martinb3 kernel: [<c03360fe>] hub_thread+0x4d/0xf8
Jul 14 10:35:08 martinb3 kernel: [<c01058a6>] ret_from_fork+0x6/0x14
Jul 14 10:35:08 martinb3 kernel: [<c0119ddb>] default_wake_function+0x0/0x12
Jul 14 10:35:08 martinb3 kernel: [<c03360b1>] hub_thread+0x0/0xf8
Jul 14 10:35:08 martinb3 kernel: [<c0103261>] kernel_thread_helper+0x5/0xb
Jul 14 10:35:08 martinb3 kernel:
-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
