Re: [PATCH v1] usb: dwc3: core: Add shutdown callback for dwc3

From: Greg Kroah-Hartman
Date: Tue Mar 30 2021 - 07:17:39 EST


On Tue, Mar 30, 2021 at 03:25:58PM +0530, Sai Prakash Ranjan wrote:
> On 2021-03-30 14:37, Greg Kroah-Hartman wrote:
> > On Tue, Mar 30, 2021 at 02:12:04PM +0530, Sandeep Maheswaram wrote:
> > >
> > > On 3/26/2021 7:07 PM, Greg Kroah-Hartman wrote:
> > > > On Wed, Mar 24, 2021 at 12:57:32AM +0530, Sandeep Maheswaram wrote:
> > > > > This patch adds a shutdown callback to USB DWC core driver to ensure that
> > > > > it is properly shutdown in reboot/shutdown path. This is required
> > > > > where SMMU address translation is enabled like on SC7180
> > > > > SoC and few others. If the hardware is still accessing memory after
> > > > > SMMU translation is disabled as part of SMMU shutdown callback in
> > > > > system reboot or shutdown path, then IOVAs(I/O virtual address)
> > > > > which it was using will go on the bus as the physical addresses which
> > > > > might result in unknown crashes (NoC/interconnect errors).
> > > > >
> > > > > Previously this was added in dwc3 qcom glue driver.
> > > > > https://patchwork.kernel.org/project/linux-arm-msm/list/?series=382449
> > > > > But observed kernel panic as glue driver shutdown getting called after
> > > > > iommu shutdown. As we are adding iommu nodes in dwc core node
> > > > > in device tree adding shutdown callback in core driver seems correct.
> > > > So shouldn't you also remove this from the qcom glue driver at the same
> > > > time? Please submit both as a patch series.
> > > >
> > > > thanks,
> > > >
> > > > greg k-h
> > >
> > > Hi Greg,
> > >
> > > The qcom glue driver patch is not merged yet. I have just mentioned
> > > for it for reference.
> >
> > You know that we can not add callbacks for no in-kernel user, so what
> > good is this patch for now?
> >
>
> What in-kernel user? Since when does shutdown callback need an in-kernel
> user? When you reboot or shutdown a system, it gets called. The reason
> why the shutdown callback is needed is provided in the commit text.

As I can't see the patch here, I have no idea...