USB: ehci: report Data Buffer Error in debug mode
Data Buffer Error as per spec section 4.15.1.1.2 results when there is Underrun or Overrun condition. This error is considered non-fatal and never gets reported. Its a very good indication on things going wrong at system level, like running memory at much slower speed. This is a good error to flag allowing system level corrections. An issue was found with OMAP4460 board where DDR had to be run at full speed and this logging helped. Signed-off-by: Vikram Pandita <vikram.pandita@ti.com> Reviewed-by: Marek Vasut <marek.vasut@gmail.com> Signed-off-by: Vikram Pandita <vikram.pandita@ti.com> Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
4b6181caa4
commit
332960bd7e
@ -373,6 +373,17 @@ qh_completions (struct ehci_hcd *ehci, struct ehci_qh *qh)
|
|||||||
retry_xacterr:
|
retry_xacterr:
|
||||||
if ((token & QTD_STS_ACTIVE) == 0) {
|
if ((token & QTD_STS_ACTIVE) == 0) {
|
||||||
|
|
||||||
|
/* Report Data Buffer Error: non-fatal but useful */
|
||||||
|
if (token & QTD_STS_DBE)
|
||||||
|
ehci_dbg(ehci,
|
||||||
|
"detected DataBufferErr for urb %p ep%d%s len %d, qtd %p [qh %p]\n",
|
||||||
|
urb,
|
||||||
|
usb_endpoint_num(&urb->ep->desc),
|
||||||
|
usb_endpoint_dir_in(&urb->ep->desc) ? "in" : "out",
|
||||||
|
urb->transfer_buffer_length,
|
||||||
|
qtd,
|
||||||
|
qh);
|
||||||
|
|
||||||
/* on STALL, error, and short reads this urb must
|
/* on STALL, error, and short reads this urb must
|
||||||
* complete and all its qtds must be recycled.
|
* complete and all its qtds must be recycled.
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user