Thread (12 messages) 12 messages, 3 authors, 2021-09-21

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help