usb: fixes for v3.18-rc5
Just one fix here on dwc3 which fixes a minor bug caused by a fix that went in this v3.18-rc cycle. The corner case is minimal as it can only be reproduced with back-to-back Setup transfers (without starting data or status phase) by means of a LeCroy USB Trainer, where we can generate USB packets any way we like. Signed-off-by: Felipe Balbi <balbi@ti.com> -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJUYSRhAAoJEIaOsuA1yqREoUYP/iH5WxjwRXPS3z78uJTlKr2g Q6vA4hCH4YBHaUsMgT8/mvdeviwZl+Exbj1xQzdwKA0t156I7/MfcVKVVHt7wTUo JE69S/R6PZIHgIqFA3NxgNh9SlEw3e5TAGYXxNVouUXkXw5zTKhyBOHHuk/rztfD ZKgApyWZfS4VdOG2us6A8xyak/wYcmrdPPba9Cx4PMTen9hbOYngXR+dzOLHO+ox StLdVJuDdTgjKS4Wwy3C6agNtnPJsW/KeDcD2YbEfvlnJ/wjtAECAF8BbOpB+5M/ frCu42NgLIW84t20WY3GCgFPCO5SuqD/L0/PL5SO6xzrZKilPjvha26cRzx5n6zo SCJ3t/oeR1EyFs2GmYwYzNdugEKwrkD1dZuqGzoIbYUikPT8BGoB/KHa71Lp4RiS bmiwet/Dtcr/Od/mewtTeuhtV480XsCfP9HppdlHyAQB24sifRXZrVYLJDKkOx77 FTmlW6u6w8/+pFsDBXf6lkh4xt40eTHNSZwDsrC9N+FY4SjiMejMm41SDHSADyls EMhKfWXXHs0Ttd8do2LymZDMEYi7Ws/miQIa6qdQ5LeRy5bp/qX4R/yE1t1fYmVR NwdpzyyqUWKEg+3p/73CUSO6Cqq9xYRbG+FmeDhDBjL/PacO7NQ17teqaO7QeKo3 7p3itRqP5pSJ9ZKQWKCJ =Azrh -----END PGP SIGNATURE----- Merge tag 'fixes-for-v3.18-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-linus Felipe writes: usb: fixes for v3.18-rc5 Just one fix here on dwc3 which fixes a minor bug caused by a fix that went in this v3.18-rc cycle. The corner case is minimal as it can only be reproduced with back-to-back Setup transfers (without starting data or status phase) by means of a LeCroy USB Trainer, where we can generate USB packets any way we like. Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
commit
2aea83a484
|
@ -791,6 +791,10 @@ static void dwc3_ep0_complete_data(struct dwc3 *dwc,
|
||||||
|
|
||||||
trb = dwc->ep0_trb;
|
trb = dwc->ep0_trb;
|
||||||
|
|
||||||
|
r = next_request(&ep0->request_list);
|
||||||
|
if (!r)
|
||||||
|
return;
|
||||||
|
|
||||||
status = DWC3_TRB_SIZE_TRBSTS(trb->size);
|
status = DWC3_TRB_SIZE_TRBSTS(trb->size);
|
||||||
if (status == DWC3_TRBSTS_SETUP_PENDING) {
|
if (status == DWC3_TRBSTS_SETUP_PENDING) {
|
||||||
dwc3_trace(trace_dwc3_ep0, "Setup Pending received");
|
dwc3_trace(trace_dwc3_ep0, "Setup Pending received");
|
||||||
|
@ -801,10 +805,6 @@ static void dwc3_ep0_complete_data(struct dwc3 *dwc,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
r = next_request(&ep0->request_list);
|
|
||||||
if (!r)
|
|
||||||
return;
|
|
||||||
|
|
||||||
ur = &r->request;
|
ur = &r->request;
|
||||||
|
|
||||||
length = trb->size & DWC3_TRB_SIZE_MASK;
|
length = trb->size & DWC3_TRB_SIZE_MASK;
|
||||||
|
|
Loading…
Reference in New Issue