usb: dwc3: ep0: make sure wValue is 0 on GetStatus()
authorFelipe Balbi <felipe.balbi@linux.intel.com>
Thu, 8 Jun 2017 10:16:18 +0000 (13:16 +0300)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Tue, 13 Jun 2017 10:21:05 +0000 (13:21 +0300)
We don't (yet) support PTM_STATUS messages so let's not reply to them
erroneously.

Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/dwc3/ep0.c

index 8cfce8425101487777179b9ad85bbacaccf84baf..827e376bfa97106f1ccbeefcad40bc2a05357c8b 100644 (file)
@@ -319,10 +319,16 @@ static int dwc3_ep0_handle_status(struct dwc3 *dwc,
 {
        struct dwc3_ep          *dep;
        u32                     recip;
+       u32                     value;
        u32                     reg;
        u16                     usb_status = 0;
        __le16                  *response_pkt;
 
+       /* We don't support PTM_STATUS */
+       value = le16_to_cpu(ctrl->wValue);
+       if (value != 0)
+               return -EINVAL;
+
        recip = ctrl->bRequestType & USB_RECIP_MASK;
        switch (recip) {
        case USB_RECIP_DEVICE: