usb: dwc3: gadget: make Set Endpoint Configuration macros safe
authorFelipe Balbi <felipe.balbi@linux.intel.com>
Tue, 31 Jan 2017 11:24:54 +0000 (13:24 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 18 Mar 2017 11:14:31 +0000 (19:14 +0800)
commit808ee146d733ff2792a26d715ac72e6e745c9a47
tree184a077ce4b7ab833a8569c1ff34c68fb19a0c5a
parentde90394b0c6b9cf6e84c8a9ecfb9673e31b88a19
usb: dwc3: gadget: make Set Endpoint Configuration macros safe

commit 7369090a9fb57c3fc705ce355d2e4523a5a24716 upstream.

Some gadget drivers are bad, bad boys. We notice
that ADB was passing bad Burst Size which caused top
bits of param0 to be overwritten which confused DWC3
when running this command.

In order to avoid future issues, we're going to make
sure values passed by macros are always safe for the
controller. Note that ADB still needs a fix to *not*
pass bad values.

Reported-by: Mohamed Abbas <mohamed.abbas@intel.com>
Sugested-by: Adam Andruszak <adam.andruszak@intel.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/dwc3/gadget.h