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

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

 



Thanks to both of you for the help and quick response time!

Kind Regards
—
Delio Brignoli
AudioScience, Inc.
USA Sales Toll Free 1-855-AUDIOSC
<www.audioscience.com> - <http://www.facebook.com/AudioScienceInc>

> On 18 Apr 2020, at 18:36, Sasha Levin <sashal@xxxxxxxxxx> 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,
> Sasha






[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