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) I ask > as you have read the stable kernel rules, right? I have read the rules. Are you asking for me to update my sign-off area with the fix commit information? > > thanks, > > greg k-h > Thank you for your help Adam -- Adam Wallis Qualcomm Datacenter Technologies as an affiliate of Qualcomm Technologies, Inc. Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project. -- 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