Commit 29af915c authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull USB fixes from Greg KH:
 "Here are some small fixes for 5.3-rc2. All of these resolve some
  reported issues, some more than others :)

  Included in here is:

   - xhci fix for an annoying issue with odd devices

   - reversion of some usb251xb patches that should not have been merged

   - usb pci quirk additions and fixups

   - usb storage fix

   - usb host controller error test fix

  All of these have been in linux-next with no reported issues"

* tag 'usb-5.3-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
  xhci: Fix crash if scatter gather is used with Immediate Data Transfer (IDT).
  usb: usb251xb: Reallow swap-dx-lanes to apply to the upstream port
  Revert "usb: usb251xb: Add US port lanes inversion property"
  Revert "usb: usb251xb: Add US lanes inversion dts-bindings"
  usb: wusbcore: fix unbalanced get/put cluster_id
  usb/hcd: Fix a NULL vs IS_ERR() bug in usb_hcd_setup_local_mem()
  usb-storage: Add a limitation for blk_queue_max_hw_sectors()
  usb: pci-quirks: Minor cleanup for AMD PLL quirk
  usb: pci-quirks: Correct AMD PLL quirk detection
parents 5bb575bc d39b5bad
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -64,10 +64,8 @@ Optional properties :
 - power-on-time-ms : Specifies the time it takes from the time the host
	initiates the power-on sequence to a port until the port has adequate
	power. The value is given in ms in a 0 - 510 range (default is 100ms).
 - swap-dx-lanes : Specifies the downstream ports which will swap the
	differential-pair (D+/D-), default is not-swapped.
 - swap-us-lanes : Selects the upstream port differential-pair (D+/D-)
	swapping (boolean, default is not-swapped)
 - swap-dx-lanes : Specifies the ports which will swap the differential-pair
	(D+/D-), default is not-swapped.

Examples:
	usb2512b@2c {
+2 −2
Original line number Diff line number Diff line
@@ -3052,8 +3052,8 @@ int usb_hcd_setup_local_mem(struct usb_hcd *hcd, phys_addr_t phys_addr,

	local_mem = devm_memremap(hcd->self.sysdev, phys_addr,
				  size, MEMREMAP_WC);
	if (!local_mem)
		return -ENOMEM;
	if (IS_ERR(local_mem))
		return PTR_ERR(local_mem);

	/*
	 * Here we pass a dma_addr_t but the arg type is a phys_addr_t.
+2 −2
Original line number Diff line number Diff line
@@ -149,7 +149,7 @@ static int ehci_pci_setup(struct usb_hcd *hcd)
		break;
	case PCI_VENDOR_ID_AMD:
		/* AMD PLL quirk */
		if (usb_amd_find_chipset_info())
		if (usb_amd_quirk_pll_check())
			ehci->amd_pll_fix = 1;
		/* AMD8111 EHCI doesn't work, according to AMD errata */
		if (pdev->device == 0x7463) {
@@ -186,7 +186,7 @@ static int ehci_pci_setup(struct usb_hcd *hcd)
		break;
	case PCI_VENDOR_ID_ATI:
		/* AMD PLL quirk */
		if (usb_amd_find_chipset_info())
		if (usb_amd_quirk_pll_check())
			ehci->amd_pll_fix = 1;

		/*
+1 −1
Original line number Diff line number Diff line
@@ -159,7 +159,7 @@ out:
	return result;

error_set_cluster_id:
	wusb_cluster_id_put(wusbhc->cluster_id);
	wusb_cluster_id_put(addr);
error_cluster_id_get:
	goto out;

+1 −1
Original line number Diff line number Diff line
@@ -152,7 +152,7 @@ static int ohci_quirk_amd700(struct usb_hcd *hcd)
{
	struct ohci_hcd *ohci = hcd_to_ohci(hcd);

	if (usb_amd_find_chipset_info())
	if (usb_amd_quirk_pll_check())
		ohci->flags |= OHCI_QUIRK_AMD_PLL;

	/* SB800 needs pre-fetch fix */
Loading