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

From: Greg Kroah-Hartman
Date: Thu Apr 08 2021 - 03:29:52 EST


On Thu, Apr 08, 2021 at 10:22:57AM +0530, Sandeep Maheswaram wrote:
>
> On 3/30/2021 7:02 PM, Greg Kroah-Hartman wrote:
> > On Tue, Mar 30, 2021 at 06:18:43PM +0530, Sai Prakash Ranjan wrote:
> > > On 2021-03-30 16:46, Greg Kroah-Hartman wrote:
> > > > 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...
> > > You are replying now to the same patch which adds this shutdown callback :)
> > > Anyways the qcom dwc3 driver patch which is abandoned which is also
> > > mentioned
> > > in the commit text is here [1] and the new shutdown callback patch which we
> > > are both replying to is in here [2]
> > >
> > > [1] https://lore.kernel.org/lkml/1605162619-10064-1-git-send-email-sanm@xxxxxxxxxxxxxx/
> > >
> > > [2] https://lore.kernel.org/lkml/1616527652-7937-1-git-send-email-sanm@xxxxxxxxxxxxxx/
> > Thanks, so, what am I supposed to do here? The patch is long gone from
> > my queue...
> >
> > greg k-h
>
> Hi Greg,
>
> Should I resend this patch ? If so let me know your about opinion about
> Stephen's comment on just calling dwc3_remove in
>
> dwc3_shutdown and ignoring return value.
>
> https://lore.kernel.org/patchwork/patch/1401242/#1599316

Please resend as again, it's not in my queue of patches to review at
all...

And yes, Stephen's comment does make sense, why ignore that?

thanks,

greg k-h