From: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
To: Selvarasu Ganesan <selvarasu.g@samsung.com>
Cc: Thinh Nguyen <Thinh.Nguyen@synopsys.com>,
"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"jh0801.jung@samsung.com" <jh0801.jung@samsung.com>,
"dh10.jung@samsung.com" <dh10.jung@samsung.com>,
"naushad@samsung.com" <naushad@samsung.com>,
"akash.m5@samsung.com" <akash.m5@samsung.com>,
"rc93.raju@samsung.com" <rc93.raju@samsung.com>,
"taehyun.cho@samsung.com" <taehyun.cho@samsung.com>,
"hongpooh.kim@samsung.com" <hongpooh.kim@samsung.com>,
"eomji.oh@samsung.com" <eomji.oh@samsung.com>,
"shijie.cai@samsung.com" <shijie.cai@samsung.com>
Subject: Re: [PATCH] usb: dwc3: Potential fix of possible dwc3 interrupt storm
Date: Fri, 13 Sep 2024 17:51:13 +0000 [thread overview]
Message-ID: <20240913175106.qbav2aigzwaj7pvd@synopsys.com> (raw)
In-Reply-To: <dd7965fa-9266-46b9-9219-1ef726480a9b@samsung.com>
Hi,
On Fri, Sep 13, 2024, Selvarasu Ganesan wrote:
> Hi Thinh,
>
> So far, there have been no reported error instances. But, we suspecting
> that the issue may be related to our glue driver. In our glue driver, we
> access the reference of evt->flags when starting or stopping the gadget
> based on a VBUS notification. We apologize for sharing this information
> so late, as we only became aware of it recently.
>
> The following sequence outlines the possible scenarios of race conditions:
>
> Thread#1 (Our glue Driver Sequence)
> ===================================
> ->USB VBUS notification
> ->Start/Stop gadget
> ->dwc->ev_buf->flags |= BIT(20); (It's for our reference)
> ->Call dwc3 exynos runtime suspend/resume
> ->dwc->ev_buf->flags &= ~BIT(20);
> ->Call dwc3 core runtime suspend/resume
>
> Thread#2
> ========
> ->dwc3_interrupt()
> ->evt->flags |= DWC3_EVENT_PENDING;
> ->dwc3_thread_interrupt()
> ->evt->flags &= ~DWC3_EVENT_PENDING;
>
This is great! That's likely the problem. Glad you found it.
>
>
> After our internal discussions, we have decided to remove the
> unnecessary access to evt->flag in our glue driver. We have made these
> changes and initiated testing.
>
> Thank you for your help so far to understand more into our glue driver code.
>
> And We are thinking that it would be fine to reset evt->flag when the
> USB controller is started, along with the changes you suggested earlier.
> This additional measure will help prevent similar issues from occurring
> in the future.
>
> Please let us know your thoughts on this proposal. If it is not
> necessary, we understand and will proceed accordingly.
>
You can submit the change I suggested. That's a valid change. However,
we should not include the reset of the DWC3_EVENT_PENDING flag. Had we
done this, you may not found the issue above. It serves no purpose for
the core driver logic and will be an extra burden for us to maintain. (I
don't want to scratch my head in the future to figure out why that
change was needed or concern whether it can be removed without causing
regression).
Thanks,
Thinh
next prev parent reply other threads:[~2024-09-13 17:51 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20240719110149epcas5p3dd468685a095c094ed2e540279bf3ec2@epcas5p3.samsung.com>
2024-07-19 11:00 ` [PATCH] usb: dwc3: Potential fix of possible dwc3 interrupt storm Selvarasu Ganesan
2024-08-07 0:38 ` Thinh Nguyen
2024-08-07 6:20 ` Selvarasu Ganesan
2024-08-08 1:15 ` Thinh Nguyen
2024-08-08 6:23 ` Selvarasu Ganesan
2024-08-09 23:42 ` Thinh Nguyen
2024-08-09 23:45 ` Thinh Nguyen
2024-08-10 15:14 ` Selvarasu Ganesan
2024-08-30 12:16 ` Selvarasu Ganesan
2024-08-31 0:50 ` Thinh Nguyen
2024-09-02 11:27 ` Selvarasu Ganesan
2024-09-03 23:41 ` Thinh Nguyen
2024-09-04 1:03 ` Thinh Nguyen
2024-09-04 15:50 ` Selvarasu Ganesan
2024-09-05 0:26 ` Thinh Nguyen
2024-09-05 13:19 ` Selvarasu Ganesan
2024-09-05 21:13 ` Thinh Nguyen
2024-09-05 23:05 ` Selvarasu Ganesan
2024-09-05 23:18 ` Thinh Nguyen
2024-09-06 0:28 ` Selvarasu Ganesan
2024-09-06 0:59 ` Thinh Nguyen
2024-09-06 19:02 ` Selvarasu Ganesan
2024-09-07 0:39 ` Thinh Nguyen
2024-09-10 13:37 ` Selvarasu Ganesan
2024-09-11 0:24 ` Thinh Nguyen
2024-09-13 12:42 ` Selvarasu Ganesan
2024-09-13 17:51 ` Thinh Nguyen [this message]
2024-09-13 18:00 ` Thinh Nguyen
2024-09-16 12:43 ` Selvarasu Ganesan
2024-09-16 21:19 ` Thinh Nguyen
2024-09-16 12:41 ` Selvarasu Ganesan
2024-09-16 21:18 ` Thinh Nguyen
2024-09-16 22:54 ` Selvarasu Ganesan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240913175106.qbav2aigzwaj7pvd@synopsys.com \
--to=thinh.nguyen@synopsys.com \
--cc=akash.m5@samsung.com \
--cc=dh10.jung@samsung.com \
--cc=eomji.oh@samsung.com \
--cc=gregkh@linuxfoundation.org \
--cc=hongpooh.kim@samsung.com \
--cc=jh0801.jung@samsung.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=naushad@samsung.com \
--cc=rc93.raju@samsung.com \
--cc=selvarasu.g@samsung.com \
--cc=shijie.cai@samsung.com \
--cc=taehyun.cho@samsung.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox