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

Reply via email to