diff mbox series

[v1,1/1] usb: dwc3: gadget: Revert "set gadgets parent to the right controller"

Message ID 20211004141839.49079-1-andriy.shevchenko@linux.intel.com (mailing list archive)
State Accepted
Commit 268bbde716e3a79a747a0f4ebbeb9f63d861737d
Headers show
Series [v1,1/1] usb: dwc3: gadget: Revert "set gadgets parent to the right controller" | expand

Commit Message

Andy Shevchenko Oct. 4, 2021, 2:18 p.m. UTC
The commit c6e23b89a95d ("usb: dwc3: gadget: set gadgets parent to the right
controller") changed the device for the UDC and broke the user space scripts
that instantiate the USB gadget(s) via ConfigFS.

Revert it for now until the better solution will be proposed.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/usb/dwc3/gadget.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Ferry Toth Oct. 4, 2021, 8:35 p.m. UTC | #1
Hi,

Op 04-10-2021 om 16:18 schreef Andy Shevchenko:
> The commit c6e23b89a95d ("usb: dwc3: gadget: set gadgets parent to the right
> controller") changed the device for the UDC and broke the user space scripts
> that instantiate the USB gadget(s) via ConfigFS.

I confirm this regression on Intel Edison since at least 5.15-rc2 while 
in 5.14.0 it was working fine.

This patch resolves the issue as tested on 5.15-rc4.

Tested-by: Ferry Toth<fntoth@gmail.com>

> Revert it for now until the better solution will be proposed.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>   drivers/usb/dwc3/gadget.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
> index 8e66a70adae6..13664609ed3c 100644
> --- a/drivers/usb/dwc3/gadget.c
> +++ b/drivers/usb/dwc3/gadget.c
> @@ -4253,7 +4253,7 @@ int dwc3_gadget_init(struct dwc3 *dwc)
>   	}
>   
>   
> -	usb_initialize_gadget(dwc->sysdev, dwc->gadget, dwc_gadget_release);
> +	usb_initialize_gadget(dwc->dev, dwc->gadget, dwc_gadget_release);
>   	dev				= &dwc->gadget->dev;
>   	dev->platform_data		= dwc;
>   	dwc->gadget->ops		= &dwc3_gadget_ops;
Michael Grzeschik Oct. 5, 2021, 8:51 a.m. UTC | #2
On Mon, Oct 04, 2021 at 10:35:57PM +0200, Ferry Toth wrote:
>Hi,
>
>Op 04-10-2021 om 16:18 schreef Andy Shevchenko:
>>The commit c6e23b89a95d ("usb: dwc3: gadget: set gadgets parent to the right
>>controller") changed the device for the UDC and broke the user space scripts
>>that instantiate the USB gadget(s) via ConfigFS.
>
>I confirm this regression on Intel Edison since at least 5.15-rc2 
>while in 5.14.0 it was working fine.
>
>This patch resolves the issue as tested on 5.15-rc4.
>
>Tested-by: Ferry Toth<fntoth@gmail.com>

NACK! Why should we resolv an issue by reverting it to solve not working
userspace. We already have this patch as a solution for solving a deeper
Problem, regarding the allocator addressing the right device.

>>Revert it for now until the better solution will be proposed.

So, I think fixing the userspace would be the right fix, not changing
the kernel. Otherwise we should find a proper solution.

>>
>>Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
>>---
>>  drivers/usb/dwc3/gadget.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>>diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
>>index 8e66a70adae6..13664609ed3c 100644
>>--- a/drivers/usb/dwc3/gadget.c
>>+++ b/drivers/usb/dwc3/gadget.c
>>@@ -4253,7 +4253,7 @@ int dwc3_gadget_init(struct dwc3 *dwc)
>>  	}
>>-	usb_initialize_gadget(dwc->sysdev, dwc->gadget, dwc_gadget_release);
>>+	usb_initialize_gadget(dwc->dev, dwc->gadget, dwc_gadget_release);
>>  	dev				= &dwc->gadget->dev;
>>  	dev->platform_data		= dwc;
>>  	dwc->gadget->ops		= &dwc3_gadget_ops;
>
Andy Shevchenko Oct. 5, 2021, 9:17 a.m. UTC | #3
On Tue, Oct 5, 2021 at 11:52 AM Michael Grzeschik <mgr@pengutronix.de> wrote:
> On Mon, Oct 04, 2021 at 10:35:57PM +0200, Ferry Toth wrote:
> >Op 04-10-2021 om 16:18 schreef Andy Shevchenko:
> >>The commit c6e23b89a95d ("usb: dwc3: gadget: set gadgets parent to the right
> >>controller") changed the device for the UDC and broke the user space scripts
> >>that instantiate the USB gadget(s) via ConfigFS.
> >
> >I confirm this regression on Intel Edison since at least 5.15-rc2
> >while in 5.14.0 it was working fine.
> >
> >This patch resolves the issue as tested on 5.15-rc4.
> >
> >Tested-by: Ferry Toth<fntoth@gmail.com>
>
> NACK! Why should we resolv an issue by reverting it to solve not working
> userspace.

Huh?!

It is
 a) used to work;
 b) stopped working after your commit.

To me it's a clear regression. Whatever deeper problem is there, I
really don't care. The change broke my _user space_ case!

> We already have this patch as a solution for solving a deeper
> Problem, regarding the allocator addressing the right device.

Then rework it. You have still time. Your case wasn't working and one
more release of not working is not an issue here.

> >>Revert it for now until the better solution will be proposed.
>
> So, I think fixing the userspace would be the right fix,

Huh?!
https://www.kernel.org/doc/html/latest/process/4.Coding.html#regressions

> not changing
> the kernel. Otherwise we should find a proper solution.

So, please do. v5.15 should still work on our devices with
distribution that uses ConfigFS, no?
Felipe Balbi Oct. 5, 2021, 10:49 a.m. UTC | #4
Michael Grzeschik <mgr@pengutronix.de> writes:

> [[PGP Signed Part:Undecided]]
> On Mon, Oct 04, 2021 at 10:35:57PM +0200, Ferry Toth wrote:
>>Hi,
>>
>>Op 04-10-2021 om 16:18 schreef Andy Shevchenko:
>>>The commit c6e23b89a95d ("usb: dwc3: gadget: set gadgets parent to the right
>>>controller") changed the device for the UDC and broke the user space scripts
>>>that instantiate the USB gadget(s) via ConfigFS.
>>
>> I confirm this regression on Intel Edison since at least 5.15-rc2
>> while in 5.14.0 it was working fine.
>>
>>This patch resolves the issue as tested on 5.15-rc4.
>>
>>Tested-by: Ferry Toth<fntoth@gmail.com>
>
> NACK! Why should we resolv an issue by reverting it to solve not working
> userspace. We already have this patch as a solution for solving a deeper

heh, there is only one rule in this community: thou shalt not break
userspace :-)
Greg KH Oct. 5, 2021, 11:04 a.m. UTC | #5
On Tue, Oct 05, 2021 at 10:51:00AM +0200, Michael Grzeschik wrote:
> On Mon, Oct 04, 2021 at 10:35:57PM +0200, Ferry Toth wrote:
> > Hi,
> > 
> > Op 04-10-2021 om 16:18 schreef Andy Shevchenko:
> > > The commit c6e23b89a95d ("usb: dwc3: gadget: set gadgets parent to the right
> > > controller") changed the device for the UDC and broke the user space scripts
> > > that instantiate the USB gadget(s) via ConfigFS.
> > 
> > I confirm this regression on Intel Edison since at least 5.15-rc2 while
> > in 5.14.0 it was working fine.
> > 
> > This patch resolves the issue as tested on 5.15-rc4.
> > 
> > Tested-by: Ferry Toth<fntoth@gmail.com>
> 
> NACK! Why should we resolv an issue by reverting it to solve not working
> userspace. We already have this patch as a solution for solving a deeper
> Problem, regarding the allocator addressing the right device.
> 
> > > Revert it for now until the better solution will be proposed.
> 
> So, I think fixing the userspace would be the right fix, not changing
> the kernel. Otherwise we should find a proper solution.

We only really have one rule in Linux kernel development:

	If a kernel change breaks userspace, the kernel change needs to
	be reverted.

Go fix up the userspace tools first, ensure everyone has updated, and
then we can consider taking the change back into the kernel tree.

thanks,

greg k-h
diff mbox series

Patch

diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index 8e66a70adae6..13664609ed3c 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -4253,7 +4253,7 @@  int dwc3_gadget_init(struct dwc3 *dwc)
 	}
 
 
-	usb_initialize_gadget(dwc->sysdev, dwc->gadget, dwc_gadget_release);
+	usb_initialize_gadget(dwc->dev, dwc->gadget, dwc_gadget_release);
 	dev				= &dwc->gadget->dev;
 	dev->platform_data		= dwc;
 	dwc->gadget->ops		= &dwc3_gadget_ops;