usb: dwc2: fix dwc2_get_device_property for u8 and u16
authorStefan Wahren <stefan.wahren@i2se.com>
Sun, 20 Nov 2016 21:26:03 +0000 (21:26 +0000)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Mon, 2 Jan 2017 08:55:28 +0000 (10:55 +0200)
commitde02238d6a7982a71682fe8da2996993a5a5eee7
tree19438576fd7a42914a006560dae1b9749f9f86f4
parentf3419735279564d40467ebe4147d8a41cef00685
usb: dwc2: fix dwc2_get_device_property for u8 and u16

According to the Devicetree ePAPR [1] the datatypes u8 and u16 are
not defined. So using device_property_read_u16() would result in
a partial read of a 32-bit big-endian integer which is not intended.
So we better read the complete 32-bit value. This fixes a regression
on bcm2835 where the values for g-rx-fifo-size and g-np-tx-fifo-size
always read as zero:

  Invalid value 0 for param g-rx-fifo-size
  Invalid value 0 for param g-np-tx-fifo-size

[1] - http://elinux.org/images/c/cf/Power_ePAPR_APPROVED_v1.1.pdf

Fixes: 05ee799f202 ("usb: dwc2: Move gadget settings into core_params")
Acked-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/dwc2/params.c