RE: [RFC] musb: Add workqueue for request giveback

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,
> -----Original Message-----
> From: Oliver Neukum [mailto:oliver@xxxxxxxxxx]
> Sent: Thursday, February 25, 2010 10:11 PM
> To: Alan Stern
> Cc: Gupta, Ajay Kumar; linux-usb@xxxxxxxxxxxxxxx
> Subject: Re: [RFC] musb: Add workqueue for request giveback
> 
> Am Donnerstag, 25. Februar 2010 16:42:57 schrieb Alan Stern:
> > On Thu, 25 Feb 2010, Oliver Neukum wrote:
> 
> > Only if the completed URB got an error.  If there was no error then
> > HCDs are allowed to start processing the next URB before giving back
> > the completed URB.  Conversely, if there was an error then the HCD
> > _must_ give back the URB before starting to process the next one
> > (unless the endpoint is Isochronous or it is a control endpoint and the
> > error was -EREMOTEIO).  This is all explained in the kerneldoc for
> > usb_unlink_urb().
> 
> Alan, thanks for writing this kerneldoc. I should have read it. I only
> remembered the problem with error handling.
> 
> Ajay, do you meet this requirement?

Alan/Oliver,

Thanks for your input. Current patch always starts the next URB and doesn't
giveback the completed URB if any error. 

I did face below kernel panic when I disconnected USB camera while streaming
is on going.

 (__irq_svc+0x30/0x80) from [<c006070c>] (vprintk+0x310/0x348)
 (vprintk+0x310/0x348) from [<c032c350>] (printk+0x18/0x24)
 (printk+0x18/0x24) from [<c0263c28>] (uvc_video_complete+0x40/0xc4)
 (uvc_video_complete+0x40/0xc4) from (usb_hcd_giveback_urb+0x74/0xbc)
 (usb_hcd_giveback_urb+0x74/0xbc) from (musb_gb_work+0x14/0x30)
 (musb_gb_work+0x14/0x30) from [<c006e9a4>] (worker_thread+0x148/0x1c0)
 (worker_thread+0x148/0x1c0) from [<c007174c>] (kthread+0x7c/0x84)
 (kthread+0x7c/0x84) from [<c0034e9c>] (kernel_thread_exit+0x0/0x8)

Hope it would get fixed if I handle the error scenario as well.

I will work on this and keep you posted.

Thanks,
Ajay
> 
> 	Regards
> 		Oliver
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux