xhci: fix SCT_FOR_CTX(p) macro
authorXenia Ragiadakou <burzalodowa@gmail.com>
Mon, 26 Aug 2013 20:29:47 +0000 (23:29 +0300)
committerSarah Sharp <sarah.a.sharp@linux.intel.com>
Mon, 2 Dec 2013 20:59:46 +0000 (12:59 -0800)
SCT_FOR_CTX(p) is defined as (((p) << 1) & 0x7) in which case if we want
to set the stream context type to SCT_SSA_256 i.e 0x7 (although secondary
stream arrays are not yet supported) using this macro definition we will
get actually 0x6 which is not what we want.

This patch fixes the above issue by defining the SCT_FOR_CTX(p) macro as
(((p) & 0x7) << 1)

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
drivers/usb/host/xhci.h

index 03c74b7..a33e8b5 100644 (file)
@@ -752,7 +752,7 @@ struct xhci_stream_ctx {
 };
 
 /* Stream Context Types (section 6.4.1) - bits 3:1 of stream ctx deq ptr */
-#define        SCT_FOR_CTX(p)          (((p) << 1) & 0x7)
+#define        SCT_FOR_CTX(p)          (((p) & 0x7) << 1)
 /* Secondary stream array type, dequeue pointer is to a transfer ring */
 #define        SCT_SEC_TR              0
 /* Primary stream array type, dequeue pointer is to a transfer ring */