Commit e4599339 authored by Xenia Ragiadakou's avatar Xenia Ragiadakou Committed by Sarah Sharp

xhci: fix write to USB3_PSSEN and XUSB2PRM pci config registers

The function pci_write_config_dword() sets the appropriate byteordering
internally so the value argument should not be converted to little-endian.
This bug was found by sparse.

This patch is not suitable for stable.  Since cpu_to_lei32 is a no-op on
little endian systems, this bug would only affect big endian Intel
systems with the EHCI to xHCI port switchover, which are non-existent,
AFAIK.
Signed-off-by: default avatarXenia Ragiadakou <burzalodowa@gmail.com>
Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
parent 455f5892
...@@ -799,7 +799,7 @@ void usb_enable_intel_xhci_ports(struct pci_dev *xhci_pdev) ...@@ -799,7 +799,7 @@ void usb_enable_intel_xhci_ports(struct pci_dev *xhci_pdev)
* switchable ports. * switchable ports.
*/ */
pci_write_config_dword(xhci_pdev, USB_INTEL_USB3_PSSEN, pci_write_config_dword(xhci_pdev, USB_INTEL_USB3_PSSEN,
cpu_to_le32(ports_available)); ports_available);
pci_read_config_dword(xhci_pdev, USB_INTEL_USB3_PSSEN, pci_read_config_dword(xhci_pdev, USB_INTEL_USB3_PSSEN,
&ports_available); &ports_available);
...@@ -821,7 +821,7 @@ void usb_enable_intel_xhci_ports(struct pci_dev *xhci_pdev) ...@@ -821,7 +821,7 @@ void usb_enable_intel_xhci_ports(struct pci_dev *xhci_pdev)
* host. * host.
*/ */
pci_write_config_dword(xhci_pdev, USB_INTEL_XUSB2PR, pci_write_config_dword(xhci_pdev, USB_INTEL_XUSB2PR,
cpu_to_le32(ports_available)); ports_available);
pci_read_config_dword(xhci_pdev, USB_INTEL_XUSB2PR, pci_read_config_dword(xhci_pdev, USB_INTEL_XUSB2PR,
&ports_available); &ports_available);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment