<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/usb/dwc3, branch linux-5.1.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-5.1.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-5.1.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2019-05-31T13:43:16Z</updated>
<entry>
<title>usb: dwc3: move synchronize_irq() out of the spinlock protected block</title>
<updated>2019-05-31T13:43:16Z</updated>
<author>
<name>Marek Szyprowski</name>
<email>m.szyprowski@samsung.com</email>
</author>
<published>2019-03-27T09:56:08Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=79137ab40c3b7cc2fbaefbc3f9281c47afb95cfc'/>
<id>urn:sha1:79137ab40c3b7cc2fbaefbc3f9281c47afb95cfc</id>
<content type='text'>
[ Upstream commit 41a91c606e7d2b74358a944525267cc451c271e8 ]

dwc3_gadget_suspend() is called under dwc-&gt;lock spinlock. In such context
calling synchronize_irq() is not allowed. Move the problematic call out
of the protected block to fix the following kernel BUG during system
suspend:

BUG: sleeping function called from invalid context at kernel/irq/manage.c:112
in_atomic(): 1, irqs_disabled(): 128, pid: 1601, name: rtcwake
6 locks held by rtcwake/1601:
 #0: f70ac2a2 (sb_writers#7){.+.+}, at: vfs_write+0x130/0x16c
 #1: b5fe1270 (&amp;of-&gt;mutex){+.+.}, at: kernfs_fop_write+0xc0/0x1e4
 #2: 7e597705 (kn-&gt;count#60){.+.+}, at: kernfs_fop_write+0xc8/0x1e4
 #3: 8b3527d0 (system_transition_mutex){+.+.}, at: pm_suspend+0xc4/0xc04
 #4: fc7f1c42 (&amp;dev-&gt;mutex){....}, at: __device_suspend+0xd8/0x74c
 #5: 4b36507e (&amp;(&amp;dwc-&gt;lock)-&gt;rlock){....}, at: dwc3_gadget_suspend+0x24/0x3c
irq event stamp: 11252
hardirqs last  enabled at (11251): [&lt;c09c54a4&gt;] _raw_spin_unlock_irqrestore+0x6c/0x74
hardirqs last disabled at (11252): [&lt;c09c4d44&gt;] _raw_spin_lock_irqsave+0x1c/0x5c
softirqs last  enabled at (9744): [&lt;c0102564&gt;] __do_softirq+0x3a4/0x66c
softirqs last disabled at (9737): [&lt;c0128528&gt;] irq_exit+0x140/0x168
Preemption disabled at:
[&lt;00000000&gt;]   (null)
CPU: 7 PID: 1601 Comm: rtcwake Not tainted
5.0.0-rc3-next-20190122-00039-ga3f4ee4f8a52 #5252
Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
[&lt;c01110f0&gt;] (unwind_backtrace) from [&lt;c010d120&gt;] (show_stack+0x10/0x14)
[&lt;c010d120&gt;] (show_stack) from [&lt;c09a4d04&gt;] (dump_stack+0x90/0xc8)
[&lt;c09a4d04&gt;] (dump_stack) from [&lt;c014c700&gt;] (___might_sleep+0x22c/0x2c8)
[&lt;c014c700&gt;] (___might_sleep) from [&lt;c0189d68&gt;] (synchronize_irq+0x28/0x84)
[&lt;c0189d68&gt;] (synchronize_irq) from [&lt;c05cbbf8&gt;] (dwc3_gadget_suspend+0x34/0x3c)
[&lt;c05cbbf8&gt;] (dwc3_gadget_suspend) from [&lt;c05bd020&gt;] (dwc3_suspend_common+0x154/0x410)
[&lt;c05bd020&gt;] (dwc3_suspend_common) from [&lt;c05bd34c&gt;] (dwc3_suspend+0x14/0x2c)
[&lt;c05bd34c&gt;] (dwc3_suspend) from [&lt;c051c730&gt;] (platform_pm_suspend+0x2c/0x54)
[&lt;c051c730&gt;] (platform_pm_suspend) from [&lt;c05285d4&gt;] (dpm_run_callback+0xa4/0x3dc)
[&lt;c05285d4&gt;] (dpm_run_callback) from [&lt;c0528a40&gt;] (__device_suspend+0x134/0x74c)
[&lt;c0528a40&gt;] (__device_suspend) from [&lt;c052c508&gt;] (dpm_suspend+0x174/0x588)
[&lt;c052c508&gt;] (dpm_suspend) from [&lt;c0182134&gt;] (suspend_devices_and_enter+0xc0/0xe74)
[&lt;c0182134&gt;] (suspend_devices_and_enter) from [&lt;c0183658&gt;] (pm_suspend+0x770/0xc04)
[&lt;c0183658&gt;] (pm_suspend) from [&lt;c0180ddc&gt;] (state_store+0x6c/0xcc)
[&lt;c0180ddc&gt;] (state_store) from [&lt;c09a9a70&gt;] (kobj_attr_store+0x14/0x20)
[&lt;c09a9a70&gt;] (kobj_attr_store) from [&lt;c02d6800&gt;] (sysfs_kf_write+0x4c/0x50)
[&lt;c02d6800&gt;] (sysfs_kf_write) from [&lt;c02d594c&gt;] (kernfs_fop_write+0xfc/0x1e4)
[&lt;c02d594c&gt;] (kernfs_fop_write) from [&lt;c02593d8&gt;] (__vfs_write+0x2c/0x160)
[&lt;c02593d8&gt;] (__vfs_write) from [&lt;c0259694&gt;] (vfs_write+0xa4/0x16c)
[&lt;c0259694&gt;] (vfs_write) from [&lt;c0259870&gt;] (ksys_write+0x40/0x8c)
[&lt;c0259870&gt;] (ksys_write) from [&lt;c0101000&gt;] (ret_fast_syscall+0x0/0x28)
Exception stack(0xed55ffa8 to 0xed55fff0)
...

Fixes: 01c10880d242 ("usb: dwc3: gadget: synchronize_irq dwc irq in suspend")
Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>usb: dwc3: Fix default lpm_nyet_threshold value</title>
<updated>2019-05-11T05:49:54Z</updated>
<author>
<name>Thinh Nguyen</name>
<email>Thinh.Nguyen@synopsys.com</email>
</author>
<published>2019-04-25T20:55:23Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a1ab43c370c590b19855b203e8b2dc1f53e6f7e6'/>
<id>urn:sha1:a1ab43c370c590b19855b203e8b2dc1f53e6f7e6</id>
<content type='text'>
commit 8d791929b2fbdf7734c1596d808e55cb457f4562 upstream.

The max possible value for DCTL.LPM_NYET_THRES is 15 and not 255. Change
the default value to 15.

Cc: stable@vger.kernel.org
Fixes: 80caf7d21adc ("usb: dwc3: add lpm erratum support")
Signed-off-by: Thinh Nguyen &lt;thinhn@synopsys.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>usb: dwc3: Allow building USB_DWC3_QCOM without EXTCON</title>
<updated>2019-05-11T05:49:53Z</updated>
<author>
<name>Marc Gonzalez</name>
<email>marc.w.gonzalez@free.fr</email>
</author>
<published>2019-04-24T15:00:57Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=5928706ff19f7df98cc29a7bef468af5cba88ad3'/>
<id>urn:sha1:5928706ff19f7df98cc29a7bef468af5cba88ad3</id>
<content type='text'>
commit 77a4946516fe488b6a33390de6d749f934a243ba upstream.

Keep EXTCON support optional, as some platforms do not need it.

Do the same for USB_DWC3_OMAP while we're at it.

Fixes: 3def4031b3e3f ("usb: dwc3: add EXTCON dependency for qcom")
Signed-off-by: Marc Gonzalez &lt;marc.w.gonzalez@free.fr&gt;
Cc: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>usb: dwc3: pci: add support for Comet Lake PCH ID</title>
<updated>2019-03-20T06:46:03Z</updated>
<author>
<name>Felipe Balbi</name>
<email>felipe.balbi@linux.intel.com</email>
</author>
<published>2019-01-31T09:04:19Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=7ae622c978db6b2e28b4fced6ecd2a174492059d'/>
<id>urn:sha1:7ae622c978db6b2e28b4fced6ecd2a174492059d</id>
<content type='text'>
This patch simply adds a new PCI Device ID

Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc3: drd: Defer probe if extcon device is not found</title>
<updated>2019-02-19T14:08:07Z</updated>
<author>
<name>Andy Shevchenko</name>
<email>andriy.shevchenko@linux.intel.com</email>
</author>
<published>2019-02-18T13:26:31Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=98bba546e82d7785b9560c6b141b73ac8d3d820f'/>
<id>urn:sha1:98bba546e82d7785b9560c6b141b73ac8d3d820f</id>
<content type='text'>
In case the "linux,extcon-name" property is defined but device itself
is not ready, defer the probe.

Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt;
Acked-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'usb-for-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next</title>
<updated>2019-02-15T08:08:57Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2019-02-15T08:08:57Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=dc8b2a691dc8f25ca6764236ed27df7c87239dd9'/>
<id>urn:sha1:dc8b2a691dc8f25ca6764236ed27df7c87239dd9</id>
<content type='text'>
Felipe writes:

USB: changes for v5.1 merge window

Dwc3 now works on TI's AM6xx platforms. Also on dwc3 we have a few
changes which improve request cancellation and some improvements to
how we print to the trace buffer.

Renesas_usb3 got support for r8a774c0 device.

Dwc2 got scatter-gather support.

Apart from these, the usual set of minor fixes and all sorts of small
details.

* tag 'usb-for-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb: (40 commits)
  usb: phy: twl6030-usb: fix possible use-after-free on remove
  usb: misc: usbtest: add super-speed isoc support
  usb: dwc3: Reset num_trbs after skipping
  usb: dwc3: gadget: don't enable interrupt when disabling endpoint
  fotg210-udc: pass struct device to DMA API functions
  fotg210-udc: remove a bogus dma_sync_single_for_device call
  usb: gadget: Change Andrzej Pietrasiewicz's e-mail address
  usb: f_fs: Avoid crash due to out-of-scope stack ptr access
  usb: dwc3: haps: Workaround matching VID PID
  usb: gadget: f_fs: preserve wMaxPacketSize across usb_ep_autoconfig() call
  usb: gadget: move non-super speed code out of usb_ep_autoconfig_ss()
  usb: gadget: function: sync f_uac1 ac header baInterfaceNr
  usb: dwc2: gadget: Add scatter-gather mode
  usb: gadget: fix various indentation issues
  usb: dwc2: Fix EP TxFIFO number setting
  udc: net2280: Fix net2280_disable
  USB: gadget: Improve kerneldoc for usb_ep_dequeue()
  usb: dwc3: debug: purge usage of strcat
  usb: dwc3: trace: pass trace buffer size to decoding functions
  usb: dwc3: gadget: remove DWC3_EP_END_TRANSFER_PENDING
  ...
</content>
</entry>
<entry>
<title>usb: dwc3: Reset num_trbs after skipping</title>
<updated>2019-02-13T11:02:39Z</updated>
<author>
<name>Thinh Nguyen</name>
<email>thinh.nguyen@synopsys.com</email>
</author>
<published>2019-02-13T03:39:27Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=c7152763f02e05567da27462b2277a554e507c89'/>
<id>urn:sha1:c7152763f02e05567da27462b2277a554e507c89</id>
<content type='text'>
Currently req-&gt;num_trbs is not reset after the TRBs are skipped and
processed from the cancelled list. The gadget driver may reuse the
request with an invalid req-&gt;num_trbs, and DWC3 will incorrectly skip
trbs. To fix this, simply reset req-&gt;num_trbs to 0 after skipping
through all of them.

Fixes: c3acd5901414 ("usb: dwc3: gadget: use num_trbs when skipping TRBs on -&gt;dequeue()")
Signed-off-by: Thinh Nguyen &lt;thinhn@synopsys.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc3: gadget: don't enable interrupt when disabling endpoint</title>
<updated>2019-02-13T11:00:54Z</updated>
<author>
<name>Felipe Balbi</name>
<email>felipe.balbi@linux.intel.com</email>
</author>
<published>2019-02-13T11:00:54Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=c5353b225df9b2d0cf881873eef6f680e43c9aa2'/>
<id>urn:sha1:c5353b225df9b2d0cf881873eef6f680e43c9aa2</id>
<content type='text'>
Since we're disabling the endpoint anyway, we don't worry about
getting endpoint command completion interrupt.

Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>Merge 5.0-rc6 into usb-next</title>
<updated>2019-02-11T08:28:39Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2019-02-11T08:28:39Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=15e99b13b44bd969b085f866fb4d5dc72f65d2d0'/>
<id>urn:sha1:15e99b13b44bd969b085f866fb4d5dc72f65d2d0</id>
<content type='text'>
We need the USB fixes in here as well.

Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>usb: dwc3: haps: Workaround matching VID PID</title>
<updated>2019-02-07T11:17:19Z</updated>
<author>
<name>Thinh Nguyen</name>
<email>thinh.nguyen@synopsys.com</email>
</author>
<published>2019-02-06T18:49:26Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=9c7ebc99b382a158fd2594adbfc204e526b16e08'/>
<id>urn:sha1:9c7ebc99b382a158fd2594adbfc204e526b16e08</id>
<content type='text'>
i.MX6QP and i.MX7D platform use a PCIe controller with the same VID and
PID as this USB controller. The system may incorrectly match this driver
to that PCIe controller. To workaround this, specifically use class type
USB with PCI device ID to prevent incorrect driver matching.

Signed-off-by: Thinh Nguyen &lt;thinhn@synopsys.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
</feed>
