This is a note to let you know that I've just added the patch titled

    usb: dwc3: fix wrong bit mask in dwc3_event_devt

to my usb git tree which can be found at
    git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-next branch.

The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)

The patch will also be merged in the next major kernel release
during the merge window.

If you have any questions about this process, please let me know.


>From 06f9b6e59661cee510b04513b13ea7927727d758 Mon Sep 17 00:00:00 2001
From: Huang Rui <[email protected]>
Date: Tue, 7 Jan 2014 17:45:50 +0800
Subject: usb: dwc3: fix wrong bit mask in dwc3_event_devt

Around DWC USB3 2.30a release another bit has been added to the
Device-Specific Event (DEVT) Event Information (EvtInfo) bitfield.

Because of that, what used to be 8 bits long, has become 9 bits long.

Per dwc3 2.30a+ spec in the Device-Specific Event (DEVT), the field of
Event Information Bits(EvtInfo) uses [24:16] bits, and it has 9 bits
not 8 bits. And the following reserved field uses [31:25] bits not
[31:24] bits, and it has 7 bits.

So in dwc3_event_devt, the bit mask should be:
event_info      [24:16]         9 bits
reserved31_25   [31:25]         7 bits

This patch makes sure that newer core releases will work fine with
Linux and that we will decode the event information properly on new
core releases.

[ [email protected] : improve commit log a bit ]

Cc: <[email protected]>
Signed-off-by: Huang Rui <[email protected]>
Signed-off-by: Felipe Balbi <[email protected]>
---
 drivers/usb/dwc3/core.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
index f8af8d44af85..69c4583933d1 100644
--- a/drivers/usb/dwc3/core.h
+++ b/drivers/usb/dwc3/core.h
@@ -815,15 +815,15 @@ struct dwc3_event_depevt {
  *     12      - VndrDevTstRcved
  * @reserved15_12: Reserved, not used
  * @event_info: Information about this event
- * @reserved31_24: Reserved, not used
+ * @reserved31_25: Reserved, not used
  */
 struct dwc3_event_devt {
        u32     one_bit:1;
        u32     device_event:7;
        u32     type:4;
        u32     reserved15_12:4;
-       u32     event_info:8;
-       u32     reserved31_24:8;
+       u32     event_info:9;
+       u32     reserved31_25:7;
 } __packed;
 
 /**
-- 
1.9.0


--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to