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

From: Sandeep Maheswaram
Date: Thu Apr 08 2021 - 00:53:23 EST



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

Thanks

Sandeep