Duncan Sands may have said: > Hi Ted, I'm confused. These urbs do not have the URB_ASYNC_UNLINK > flag set! The async in destroy_async etc refers to the fact that > user space submits an urb and gets the result later rather than > submits the urb and blocks until it is done, i.e. these functions > implement something which is asynchronous for user space.
Oops. I must have misremembered something. Sorry. > It has nothing to do with synchronous vs asynchronous unlinking! > Indeed these urbs are supposed to be unlinked synchronously. > Could you please check if > usb_unlink_urb(as->urb); > returns a non-zero error code? I will do so this evening. Btw, I forgot to mention in the original post that there are two kernel threads playing here (see stack traces below). If the first one executes before the second then all is well. If not, I get the panic. Thread #1: [<c02e2fef>] async_completed+0x1bf/0x1d0 [<d08e19f9>] uhci_finish_urb+0x89/0x190 [uhci_hcd] [<c02de274>] usb_hcd_giveback_urb+0x24/0x40 [<d08e1c4a>] uhci_finish_completion+0x14a/0x380 [uhci_hcd] [<c0138c45>] rcu_process_callbacks+0x195/0x250 [<c02de2c5>] usb_hcd_irq+0x35/0x60 [<c010c0eb>] handle_IRQ_event+0x3b/0x70 [<c010c700>] do_IRQ+0x140/0x3a0 [<c0105000>] _stext+0x0/0xf0 [<c010a648>] common_interrupt+0x18/0x20 [<c0105000>] _stext+0x0/0xf0 [<c0107406>] default_idle+0x26/0x40 [<c0107494>] cpu_idle+0x34/0x40 [<c048e833>] start_kernel+0x1c3/0x230 [<c048e520>] unknown_bootoption+0x0/0x110 Thread #2: [<c02d9d0d>] usbdev_release+0x16d/0x250 [<c0170f01>] __fput+0xc1/0x130 [<c02d9ba0>] usbdev_release+0x0/0x250 [<c0170f5d>] __fput+0x11d/0x130 [<c016ed97>] filp_close+0x57/0x90 [<c0123414>] put_files_struct+0x74/0xe0 [<c012474e>] do_exit+0x2ae/0x980 [<c012dd05>] __dequeue_signal+0xf5/0x1b0 [<c0124ed0>] do_group_exit+0x40/0x220 [<c012dded>] dequeue_signal+0x2d/0x90 [<c013181d>] get_signal_to_deliver+0x63d/0xa00 [<c010a27c>] do_signal+0x6c/0x100 [<c0131d05>] sigprocmask+0xf5/0x2a0 [<c018a2a9>] file_ioctl+0x69/0x1e0 [<c018a5dd>] sys_ioctl+0x1bd/0x420 [<c013c96b>] sys_nanosleep+0x9b/0x120 [<c010a349>] do_notify_resume+0x39/0x3c [<c010a526>] work_notifysig+0x13/0x15 Cheers, -Ted ------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-users
