Linux USB
 help / color / mirror / Atom feed
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

  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