usb: usbtest: fix the bit mask of usb 2.0 extension descriptor
authorHuang Rui <ray.huang@amd.com>
Wed, 13 Nov 2013 14:35:14 +0000 (22:35 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 9 Dec 2013 01:42:45 +0000 (17:42 -0800)
USB 2.1 Link PM adds to use bits[1:15] according to USB 2.0 ECN Errata for
Link Power Management spec.

Bit Encoding
0 Reserved
1 LPM
2 BESL & Altemate HIRD definitions supported
3 Recommended Baseline BESL valid
4 Recommended Deep BESL valid
11:8 Recommended Baseline BESL value
15:12 Recommended Deep BESL value
31:16 Reserved

So fix the bit mask from 0x1e to 0xfffe.

Reported-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Acked-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/misc/usbtest.c

index f3c31363c40ab2d449db5ec287ba68f4de411a17..0b5c3b15753064c4aa8d89249ff028b95edc3e45 100644 (file)
@@ -619,8 +619,8 @@ static int is_good_ext(struct usbtest_dev *tdev, u8 *buf)
        }
 
        attr = le32_to_cpu(ext->bmAttributes);
-       /* bits[1:4] is used and others are reserved */
-       if (attr & ~0x1e) {     /* reserved == 0 */
+       /* bits[1:15] is used and others are reserved */
+       if (attr & ~0xfffe) {   /* reserved == 0 */
                ERROR(tdev, "reserved bits set\n");
                return 0;
        }