Message ID | 1458917188-28452-1-git-send-email-peter.griffin@linaro.org |
---|---|
State | Accepted |
Commit | f9a85f6e61c695daeb427dfc6c1d5a279654207b |
Headers | show |
On Sat, 26 Mar 2016, Felipe Balbi wrote: > Peter Griffin <peter.griffin@linaro.org> writes: > > On Fri, 25 Mar 2016, Felipe Balbi wrote: > >> Gregory CLEMENT <gregory.clement@free-electrons.com> writes: > >> >> Peter Griffin <peter.griffin@linaro.org> writes: > >> >>> Otherwise generic-xhci and xhci-platform which have no data get wrongly > >> >>> detected as XHCI_PLAT_TYPE_MARVELL_ARMADA by xhci_plat_type_is(). > >> >>> > >> >>> This fixes a regression in v4.5 for STiH407 family SoC's which use the > >> >>> synopsis dwc3 IP, whereby the disable_clk error path gets taken due to > >> >>> wrongly being detected as XHCI_PLAT_TYPE_MARVELL_ARMADA and the hcd never > >> >>> gets added. > >> >>> > >> >>> I suspect this will also fix other dwc3 DT platforms such as Exynos, > >> >>> although I've only tested on STih410 SoC. > >> >>> > >> >>> Fixes: 4efb2f694114 ("usb: host: xhci-plat: add struct xhci_plat_priv") > >> >>> Cc: stable@vger.kernel.org > >> >>> Cc: gregory.clement@free-electrons.com > >> >>> Cc: yoshihiro.shimoda.uh@renesas.com > >> >>> Signed-off-by: Peter Griffin <peter.griffin@linaro.org> > >> >>> --- > >> >>> drivers/usb/host/xhci-plat.h | 2 +- > >> >>> 1 file changed, 1 insertion(+), 1 deletion(-) > >> >>> > >> >>> diff --git a/drivers/usb/host/xhci-plat.h b/drivers/usb/host/xhci-plat.h > >> >>> index 5a2e2e3..529c3c4 100644 > >> >>> --- a/drivers/usb/host/xhci-plat.h > >> >>> +++ b/drivers/usb/host/xhci-plat.h > >> >>> @@ -14,7 +14,7 @@ > >> >>> #include "xhci.h" /* for hcd_to_xhci() */ > >> >>> > >> >>> enum xhci_plat_type { > >> >>> - XHCI_PLAT_TYPE_MARVELL_ARMADA, > >> >>> + XHCI_PLAT_TYPE_MARVELL_ARMADA = 1, > >> >>> XHCI_PLAT_TYPE_RENESAS_RCAR_GEN2, > >> >>> XHCI_PLAT_TYPE_RENESAS_RCAR_GEN3, > >> >> > >> >> aren't these platforms using device tree ? Why aren't these just > >> >> different compatible strings ? > >> > > >> > According to 4efb2f69411456d35051e9047c15157c9a5ba217 "usb: host: > >> > xhci-plat: add struct xhci_plat_priv" : > >> > > >> > This patch adds struct xhci_plat_priv to simplify the code to match > >> > platform specific variables. For now, this patch adds a member "type" in > >> > the structure > >> > >> that's fine but the answer doesn't exactly match my question ;-) > >> > >> My point is that this enum shouldn't be necessary at all. We have > >> compatible flags to make these checks instead. How about below ? > >> (untested, uncompiled, yada yada yada). Note that we DON'T need this > >> xhci_plat_type trickery, just need to be a little bit smarter about how > >> we use driver_data: > > > > Your solution certainly looks more elegant. > > cool thanks. Now that I think about this more carefully, we might wanna > take $subject anyway for the -rc and get my version applied for v4.7 > merge window. What do you think ? +1 for a simple/quick fix. Acked-by: Lee Jones <lee.jones@linaro.org> -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Mathias, On Fri, 25 Mar 2016, Peter Griffin wrote: > Otherwise generic-xhci and xhci-platform which have no data get wrongly > detected as XHCI_PLAT_TYPE_MARVELL_ARMADA by xhci_plat_type_is(). > > This fixes a regression in v4.5 for STiH407 family SoC's which use the > synopsis dwc3 IP, whereby the disable_clk error path gets taken due to > wrongly being detected as XHCI_PLAT_TYPE_MARVELL_ARMADA and the hcd never > gets added. > > I suspect this will also fix other dwc3 DT platforms such as Exynos, > although I've only tested on STih410 SoC. > > Fixes: 4efb2f694114 ("usb: host: xhci-plat: add struct xhci_plat_priv") Can you take this 1 charcter fix for the next -rc? It fixes a regression introduced in commit 4efb2f694114 for usb3 for some DT platforms. Then Felipes series which re-works this code will hopefully be merged in the next merge window. regards, Peter. -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/usb/host/xhci-plat.h b/drivers/usb/host/xhci-plat.h index 5a2e2e3..529c3c4 100644 --- a/drivers/usb/host/xhci-plat.h +++ b/drivers/usb/host/xhci-plat.h @@ -14,7 +14,7 @@ #include "xhci.h" /* for hcd_to_xhci() */ enum xhci_plat_type { - XHCI_PLAT_TYPE_MARVELL_ARMADA, + XHCI_PLAT_TYPE_MARVELL_ARMADA = 1, XHCI_PLAT_TYPE_RENESAS_RCAR_GEN2, XHCI_PLAT_TYPE_RENESAS_RCAR_GEN3, };
Otherwise generic-xhci and xhci-platform which have no data get wrongly detected as XHCI_PLAT_TYPE_MARVELL_ARMADA by xhci_plat_type_is(). This fixes a regression in v4.5 for STiH407 family SoC's which use the synopsis dwc3 IP, whereby the disable_clk error path gets taken due to wrongly being detected as XHCI_PLAT_TYPE_MARVELL_ARMADA and the hcd never gets added. I suspect this will also fix other dwc3 DT platforms such as Exynos, although I've only tested on STih410 SoC. Fixes: 4efb2f694114 ("usb: host: xhci-plat: add struct xhci_plat_priv") Cc: stable@vger.kernel.org Cc: gregory.clement@free-electrons.com Cc: yoshihiro.shimoda.uh@renesas.com Signed-off-by: Peter Griffin <peter.griffin@linaro.org> --- drivers/usb/host/xhci-plat.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html