usb: ehci: Fix accessors for big-endian platforms and descriptors
authorAlexey Brodkin <Alexey.Brodkin@synopsys.com>
Fri, 17 Nov 2017 13:26:30 +0000 (16:26 +0300)
committerMarek Vasut <marek.vasut+renesas@gmail.com>
Sun, 26 Nov 2017 01:22:36 +0000 (02:22 +0100)
commit9829ce2ff25c659ca29cd15ab773312ac4b6cfc6
tree13b6a6f21985b9c1b28c42e00aa87123193a4a6f
parentabd7cedb19ab7979467734b3933a39879bd8935a
usb: ehci: Fix accessors for big-endian platforms and descriptors

Commit 9000eddbae0d ("drivers/usb/ehci: Use platform-specific accessors")
broke USB 2.0 on big-endian platforms because for them writel/readl()
does automatic conversion of BE data to LE.

Proper implementation requires to use "raw" variant of these accessors
which read/write data without messing with endianess.

While at it replace cpu_to_be32() to be32_to_cpu() in readl() to
keep sane semantics.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Marek Vasut <marex@denx.de>
Reported-by: Vladimir Boroda <boroda@yahoo.com>
drivers/usb/host/ehci.h