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

Sandeep Maheswaram
2021-04-08T04:53:18Z

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@codeaurora.org/
>>
>> [2] https://lore.kernel.org/lkml/1616527652-7937-1-git-send-email-sanm@codeaurora.org/
> 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