Fix minor logical error in the XHCI driver. Set correct SETUP packet

direction value.

MFC after:	2 days
Reported by:	Horse Ma <HMa@wyse.com>
This commit is contained in:
Hans Petter Selasky 2014-02-14 07:17:36 +00:00
parent e952166b53
commit c4a1e93fa6
2 changed files with 3 additions and 1 deletions

View File

@ -1759,7 +1759,8 @@ xhci_setup_generic_chain_sub(struct xhci_std_temp *temp)
/* check wLength */
if (td->td_trb[0].qwTrb0 &
htole64(XHCI_TRB_0_WLENGTH_MASK)) {
if (td->td_trb[0].qwTrb0 & htole64(1))
if (td->td_trb[0].qwTrb0 &
htole64(XHCI_TRB_0_DIR_IN_MASK))
dword |= XHCI_TRB_3_TRT_IN;
else
dword |= XHCI_TRB_3_TRT_OUT;

View File

@ -192,6 +192,7 @@ struct xhci_stream_ctx {
struct xhci_trb {
volatile uint64_t qwTrb0;
#define XHCI_TRB_0_DIR_IN_MASK (0x80ULL << 0)
#define XHCI_TRB_0_WLENGTH_MASK (0xFFFFULL << 48)
volatile uint32_t dwTrb2;
#define XHCI_TRB_2_ERROR_GET(x) (((x) >> 24) & 0xFF)