linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Roger Quadros <rogerq@kernel.org>
To: Greg KH <greg@kroah.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>,
	Krishna Kurapati <quic_kriskura@quicinc.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux Next Mailing List <linux-next@vger.kernel.org>,
	Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Subject: Re: linux-next: manual merge of the usb tree with the usb.current tree
Date: Sun, 28 May 2023 18:48:12 +0300	[thread overview]
Message-ID: <f604f836-7858-6140-4ec1-9ba95cba6991@kernel.org> (raw)
In-Reply-To: <2023052846-surfer-spore-e873@gregkh>

Hi Greg,

On 28/05/2023 17:28, Greg KH wrote:
> On Mon, May 15, 2023 at 02:01:08PM +0300, Roger Quadros wrote:
>> Hi Stephen,
>>
>> On 15/05/2023 05:35, Stephen Rothwell wrote:
>>> Hi all,
>>>
>>> Today's linux-next merge of the usb tree got a conflict in:
>>>
>>>   drivers/usb/dwc3/gadget.c
>>>
>>> between commit:
>>>
>>>   c8540870af4c ("usb: dwc3: gadget: Improve dwc3_gadget_suspend() and dwc3_gadget_resume()")
>>>
>>> from the usb.current tree and commit:
>>>
>>>   813f44d57e19 ("usb: dwc3: gadget: Bail out in pullup if soft reset timeout happens")
>>>
>>> from the usb tree.
>>>
>>> I fixed it up (I think - see below) and can carry the fix as
>>> necessary. This is now fixed as far as linux-next is concerned, but any
>>> non trivial conflicts should be mentioned to your upstream maintainer
>>> when your tree is submitted for merging.  You may also want to consider
>>> cooperating with the maintainer of the conflicting tree to minimise any
>>> particularly complex conflicts.
>>>
>>
>>> diff --cc drivers/usb/dwc3/gadget.c
>>> index d831f5acf7b5,5965796bc5d5..000000000000
>>> --- a/drivers/usb/dwc3/gadget.c
>>> +++ b/drivers/usb/dwc3/gadget.c
>>> @@@ -2700,21 -2699,6 +2700,26 @@@ static int dwc3_gadget_soft_disconnect(
>>>   	return ret;
>>>   }
>>>   
>>>  +static int dwc3_gadget_soft_connect(struct dwc3 *dwc)
>>>  +{
>>> ++	int	ret;
>>> ++
>>>  +	/*
>>>  +	 * In the Synopsys DWC_usb31 1.90a programming guide section
>>>  +	 * 4.1.9, it specifies that for a reconnect after a
>>>  +	 * device-initiated disconnect requires a core soft reset
>>>  +	 * (DCTL.CSftRst) before enabling the run/stop bit.
>>>  +	 */
>>>  +	dwc3_core_soft_reset(dwc);
>>
>> Please drop above call to dwc3_core_soft_reset().
>>
>>> ++	ret = dwc3_core_soft_reset(dwc);
>>> ++	if (ret)
>>> ++		return ret;
>>>  +
>>>  +	dwc3_event_buffers_setup(dwc);
>>>  +	__dwc3_gadget_start(dwc);
>>>  +	return dwc3_gadget_run_stop(dwc, true);
>>>  +}
>>>  +
>>>   static int dwc3_gadget_pullup(struct usb_gadget *g, int is_on)
>>>   {
>>>   	struct dwc3		*dwc = gadget_to_dwc(g);
>>
> 
> Can you verify I got this right in my usb-next branch now?

No, the end result is not correct.

Please apply the below patch to fix it. Thanks.

-- 
cheers,
-roger

diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index 7d59e0f43fda..578804dc29ca 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -2702,13 +2702,17 @@ static int dwc3_gadget_soft_disconnect(struct dwc3 *dwc)
 
 static int dwc3_gadget_soft_connect(struct dwc3 *dwc)
 {
+	int ret;
+
 	/*
 	 * In the Synopsys DWC_usb31 1.90a programming guide section
 	 * 4.1.9, it specifies that for a reconnect after a
 	 * device-initiated disconnect requires a core soft reset
 	 * (DCTL.CSftRst) before enabling the run/stop bit.
 	 */
-	dwc3_core_soft_reset(dwc);
+	ret = dwc3_core_soft_reset(dwc);
+	if (ret)
+		return ret;
 
 	dwc3_event_buffers_setup(dwc);
 	__dwc3_gadget_start(dwc);
@@ -2753,25 +2757,11 @@ static int dwc3_gadget_pullup(struct usb_gadget *g, int is_on)
 
 	synchronize_irq(dwc->irq_gadget);
 
-	if (!is_on) {
+	if (!is_on)
 		ret = dwc3_gadget_soft_disconnect(dwc);
-	} else {
-		/*
-		 * In the Synopsys DWC_usb31 1.90a programming guide section
-		 * 4.1.9, it specifies that for a reconnect after a
-		 * device-initiated disconnect requires a core soft reset
-		 * (DCTL.CSftRst) before enabling the run/stop bit.
-		 */
-		ret = dwc3_core_soft_reset(dwc);
-		if (ret)
-			goto done;
-
-		dwc3_event_buffers_setup(dwc);
-		__dwc3_gadget_start(dwc);
-		ret = dwc3_gadget_run_stop(dwc, true);
-	}
+	else
+		ret = dwc3_gadget_soft_connect(dwc);
 
-done:
 	pm_runtime_put(dwc->dev);
 
 	return ret;




  reply	other threads:[~2023-05-28 15:48 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-15  2:35 linux-next: manual merge of the usb tree with the usb.current tree Stephen Rothwell
2023-05-15  3:50 ` Greg KH
2023-05-15  5:22 ` Krishna Kurapati PSSNV
2023-05-15 11:01 ` Roger Quadros
2023-05-15 11:36   ` Stephen Rothwell
2023-05-28 14:28   ` Greg KH
2023-05-28 15:48     ` Roger Quadros [this message]
2023-05-28 16:07       ` Greg KH
  -- strict thread matches above, loose matches on Subject: below --
2024-04-26  4:48 Stephen Rothwell
2024-04-26 21:39 ` Thinh Nguyen
2024-04-12  4:25 Stephen Rothwell
2024-04-12  7:58 ` Greg KH
2024-04-24  6:12   ` Stephen Rothwell
2024-02-20  3:39 Stephen Rothwell
2024-02-20  8:18 ` Greg KH
2024-02-26  5:55 ` Greg KH
2023-05-15  2:50 Stephen Rothwell
2023-05-28 14:28 ` Greg KH
2023-03-31  3:01 Stephen Rothwell
2023-03-31  7:52 ` Greg KH
2023-04-10  6:56 ` Greg KH
2023-01-19  3:48 Stephen Rothwell
2023-01-18  0:56 Stephen Rothwell
2023-01-18  7:48 ` Greg KH
2023-01-23 14:40 ` Greg KH
2022-09-01  3:52 Stephen Rothwell
2022-09-05  6:04 ` Greg KH
2022-04-26  5:08 Stephen Rothwell
2022-04-26  9:41 ` Greg KH
2022-05-03 14:36 ` Greg KH
2022-02-21 20:39 broonie
2022-02-22  7:44 ` Greg KH
2021-07-22  4:12 Stephen Rothwell
2021-07-23 12:29 ` Greg KH
2021-07-27 14:45 ` Greg KH
2021-01-20  2:06 Stephen Rothwell
2021-01-20  8:02 ` Greg KH
2021-01-06  0:50 Stephen Rothwell
2021-01-11  7:11 ` Greg KH
2020-06-26  3:29 Stephen Rothwell
2020-06-26 15:14 ` Greg KH
2020-06-29  6:23 ` Greg KH
2018-06-29  4:57 Stephen Rothwell
2018-07-01  8:43 ` Greg KH
2018-07-01 15:11   ` Randy Dunlap
2018-04-23  3:04 Stephen Rothwell
2018-04-23  8:30 ` Johan Hovold
2018-04-23  8:41   ` Greg KH
2018-04-30  1:34 ` Stephen Rothwell
2018-04-30 11:55   ` Sebastian Reichel
2018-04-30 12:16     ` Greg KH
2018-04-30 12:00   ` Greg KH
2017-12-20  2:09 Stephen Rothwell
2017-12-20  9:36 ` Greg KH
2018-01-03  0:56   ` Stephen Rothwell
2018-01-04 16:06     ` Greg KH
2014-11-05  4:18 Stephen Rothwell
2014-11-05  4:30 ` Greg KH
2014-11-05  8:33   ` Paul Bolle
2014-11-06  2:19     ` Greg KH
2014-11-06  5:02       ` Stephen Rothwell
2013-12-18  5:53 Stephen Rothwell
2013-03-21  4:24 Stephen Rothwell
2012-11-14  4:07 Stephen Rothwell
2012-11-16  2:14 ` Greg KH
2012-11-13  3:37 Stephen Rothwell
2012-11-13 18:49 ` Greg KH
2012-10-25  2:05 Stephen Rothwell
2012-10-25  2:17 ` Greg KH
2012-09-12  5:37 Stephen Rothwell
2012-09-12 16:14 ` Greg KH
2012-09-12  5:37 Stephen Rothwell
2012-05-03  4:44 Stephen Rothwell
2012-05-04 23:18 ` Greg KH
2012-05-07 16:05 ` Greg KH
2012-05-07 16:05 ` Greg KH
2012-04-19  5:14 Stephen Rothwell
2012-04-19 20:07 ` Greg KH
2012-04-22 22:27 ` Greg KH
2012-03-05  6:00 Stephen Rothwell
2012-03-05 16:42 ` Greg KH
2011-08-25  4:52 Stephen Rothwell
2011-08-25 15:39 ` Greg KH
2011-08-29 15:52 ` Greg KH
2010-12-20  5:28 Stephen Rothwell
2010-12-20 18:30 ` Greg KH

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=f604f836-7858-6140-4ec1-9ba95cba6991@kernel.org \
    --to=rogerq@kernel.org \
    --cc=Thinh.Nguyen@synopsys.com \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=quic_kriskura@quicinc.com \
    --cc=sfr@canb.auug.org.au \
    /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;
as well as URLs for NNTP newsgroup(s).