aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host
diff options
context:
space:
mode:
authorAlex He <alex.he@amd.com>2011-05-05 06:14:12 -0400
committerSarah Sharp <sarah.a.sharp@linux.intel.com>2011-05-09 12:34:48 -0400
commit1bb73a88839d473f4f2c529ecf453029439aa837 (patch)
tree103180f7a622e367d8b83045b8db4b10a3659397 /drivers/usb/host
parent700b41736c07f357df0a1b8f342fd237f365b58d (diff)
xHCI 1.0: Max Exit Latency Too Large Error
This is a new TRB Completion Code of the xHCI spec 1.0. Asserted by the Evalute Context Command if the proposed Max Exit Latency would not allow the periodic endpoints of the Device Slot to be scheduled. Signed-off-by: Alex He <alex.he@amd.com> Signed-off-by: Andiry Xu <andiry.xu@amd.com> Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Diffstat (limited to 'drivers/usb/host')
-rw-r--r--drivers/usb/host/xhci.c5
-rw-r--r--drivers/usb/host/xhci.h4
2 files changed, 8 insertions, 1 deletions
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index 3abf33223b1c..013e113b818a 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -1560,6 +1560,11 @@ static int xhci_evaluate_context_result(struct xhci_hcd *xhci,
1560 xhci_dbg_ctx(xhci, virt_dev->out_ctx, 1); 1560 xhci_dbg_ctx(xhci, virt_dev->out_ctx, 1);
1561 ret = -EINVAL; 1561 ret = -EINVAL;
1562 break; 1562 break;
1563 case COMP_MEL_ERR:
1564 /* Max Exit Latency too large error */
1565 dev_warn(&udev->dev, "WARN: Max Exit Latency too large\n");
1566 ret = -EINVAL;
1567 break;
1563 case COMP_SUCCESS: 1568 case COMP_SUCCESS:
1564 dev_dbg(&udev->dev, "Successful evaluate context command\n"); 1569 dev_dbg(&udev->dev, "Successful evaluate context command\n");
1565 ret = 0; 1570 ret = 0;
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
index 33a49d5d6c22..e12db7cfb9bb 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -881,7 +881,9 @@ struct xhci_transfer_event {
881#define COMP_STOP_INVAL 27 881#define COMP_STOP_INVAL 27
882/* Control Abort Error - Debug Capability - control pipe aborted */ 882/* Control Abort Error - Debug Capability - control pipe aborted */
883#define COMP_DBG_ABORT 28 883#define COMP_DBG_ABORT 28
884/* TRB type 29 and 30 reserved */ 884/* Max Exit Latency Too Large Error */
885#define COMP_MEL_ERR 29
886/* TRB type 30 reserved */
885/* Isoc Buffer Overrun - an isoc IN ep sent more data than could fit in TD */ 887/* Isoc Buffer Overrun - an isoc IN ep sent more data than could fit in TD */
886#define COMP_BUFF_OVER 31 888#define COMP_BUFF_OVER 31
887/* Event Lost Error - xHC has an "internal event overrun condition" */ 889/* Event Lost Error - xHC has an "internal event overrun condition" */