On Tue, Sep 05, 2017 at 10:38:03AM -0400, Adam Wallis wrote: > On 9/5/2017 10:31 AM, Greg Kroah-Hartman wrote: > > On Tue, Sep 05, 2017 at 10:25:19AM -0400, Adam Wallis wrote: > >> On 9/5/2017 10:16 AM, Greg Kroah-Hartman wrote: > >>> On Tue, Sep 05, 2017 at 09:57:29AM -0400, Adam Wallis wrote: > >>>> Currently, xhci_plat is not set up properly when the parent device is an > >>>> ACPI node. The conditions that xhci_plat_probe should satisfy are > >>>> > >>>> 1. xhci_plat comes from firmware > >>>> 2. xhci_plat is child of a device from firmware (dwc3-plat) > >>>> 3. xhci_plat is grandchild of a pci device (dwc3-pci) > >>>> > >>>> Case 2 is covered when the child is an OF node (by checking > >>>> sysdev->parent->of_node), however, an ACPI parent will return NULL in > >>>> the of_node check and will thus not result in sysdev being set to > >>>> sysdev->parent > >>>> > >>>> [ 17.591549] xhci-hcd: probe of xhci-hcd.6.auto failed with error -5 > >>>> > >>>> This change adds a check for ACPI to completely allow for condition 2. > >>>> This is done by first checking if the parent node is of type ACPI (e.g., > >>>> dwc3-plat) and set sysdev to sysdev->parent if either of the two > >>>> following conditions are met: > >>>> > >>>> 1: If fwnode is empty (in the case that platform_device_add_properties > >>>> was not called on the allocated platform device) > >>>> 2: fwnode exists but is not of type ACPI (this would happen if > >>>> platform_device_add_properties was called on the allocated device. > >>>> Instead of type FWNODE_ACPI, you would end up with FWNODE_PDATA) > >>>> > >>>> Cc: stable@xxxxxxxxxxxxxxx #4.12.x > >>>> Cc: stable@xxxxxxxxxxxxxxx #4.13.x > >>> > >>> What bug is this fixing that needs to go into the stable kernel trees? > >>> Is this a regression, or a new feature for those versions? > >>> > >> Greg > >> > >> The following patch > >> > >> 4c39d4b949d36f usb: xhci: use bus->sysdev for DMA configuration > >> > >> provided an incomplete check for all firmware nodes (only checked for PCI and OF > >> case, but not the ACPI case). This bug affects the 4.12 and 4.13 kernels. > > > > What is the symptom of "incomplete check"? Something that used to work > > now does not? Or just that it doesn't work "correctly" and this patch > > resolves that issue so that new hardware can now work properly? > Greg, the change I reference above broke behavior that previously worked. > Previously, it was possible to have a an ACPI host driver (e.g., dwc3) that > created a platform xhci device as a child. The above change removed the ability > to have a parent ACPI device to the platform xhci platform device (so drivers > like dwc3 host do not work with ACPI now in 4.12/4.13) Ok, then provide this information with a "Fixes:" tag please. thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html