Re: usb: dwc3: gadget: Don't clear flags before transfer ended

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Apr 18, 2020 at 12:36:43PM -0400, Sasha Levin wrote:
> On Sat, Apr 18, 2020 at 12:53:25PM +0200, Greg KH wrote:
> > On Sat, Apr 18, 2020 at 12:25:16PM +0200, Delio Brignoli wrote:
> > > Please apply the following commit:
> > > 
> > > Commit subject: usb: dwc3: gadget: Don't clear flags before transfer ended
> > > Commit ID: a114c4ca64bd522aec1790c7e5c60c882f699d8f
> > > Apply to: at least 4.19 stable, and 5.4 stable if possible. Note that all kernels from v4.18-rc1 up to 5.7-rc1 are affected.
> > > 
> > > Why apply it:
> > > <https://github.com/torvalds/linux/commit/a114c4ca64bd522aec1790c7e5c60c882f699d8f> fixes <https://github.com/torvalds/linux/commit/6d8a019614f3a7630e0a2c1be4bf1cfc23acf56e>. Without this fix the built-in USB function source/sink test module fails to work with isochronous endpoints [1]. A side-effect of setting dep->flags = DWC3_EP_ENABLED; in dwc3_gadget_ep_cleanup_completed_requests() as part of disabling an ep is that a subsequent attempt to enable the endpoint will skip __dwc3_gadget_ep_enable() effectively leaving the ep disabled.
> > > 
> > > [1] Our gadget driver on TI AM5729 fails to work exactly like the built-in USB function source/sink test module when switching to alternate interface 1 because of the issue described above.
> > > 
> > > TI is currently using 4.19 and 5.4 stable kernels as the basis for their processor SDK kernels for their AM57x SoC and may switch to 5.4 stable at a later time. Thank you.
> > 
> > It does not apply to the 4.19.y kernel tree, can you provide a working
> > backport of it please so that I can apply it?
> 
> I took this as a dependency:
> 
> 	c5353b225df9 ("usb: dwc3: gadget: don't enable interrupt when disabling endpoint")
> 
> And worked around context conflicts caused by:
> 
> 	25abad6a0584 ("usb: dwc3: gadget: return errors from __dwc3_gadget_start_isoc()")
> 	d92021f66063 ("usb: dwc3: Add workaround for isoc start transfer failure")
> 
> And queued a114c4ca64bd for 4.19.

Thanks for doing this!



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux