Re: imx8mm board crash in drivers/usb/chipidea/ci_hdrc_imx.c
flat view
From: Fabio Estevam <festevam@gmail.com>
Date: 2021-09-21 01:43:42
Also in:
linux-usb, lkml
Hi Frieder, On Mon, Sep 20, 2021 at 11:26 AM Frieder Schrempf [off-list ref] wrote:
Commit ed5a419bb019 ("usb: chipidea: imx: "fsl,usbphy" phandle is not
mandatory now") explains, that the core driver already covers reading
the "phys" property (see ci_hdrc_probe()):
Since the chipidea common code support get the USB PHY phandle from
"phys", the glue layer is not mandatory to get the "fsl,usbphy"
phandle any more.
This seems to be the reason why ci_hdrc_imx_probe() doesn't return any
error in case "fsl,usbphy" is not set. It expects that the core will
handle data->phy = NULL and already checks for a "phys" property.chipidea core populates ci->usb_phy when phys is used. The charger detection function only checks data->usb_phy, so they don't see ci->usb_phy that was populated by the chipidea core. We could change the signature of all charger detection functions to receive struct ci_hdrc *ci, but that will be a huge patch that will probably not meet the stable requirements, so I think to minimally fix stable we should go with the proposed fix I suggested.
Therefore I'm not sure Fabio's fix is the right way to go. Could it be that the ci_hdrc_imx driver expects that it will be probed before the ci_hdrc core and this isn't true in Heiko's case?
_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel