<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux.git/drivers/usb/dwc3, branch linux-3.15.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-3.15.y</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-3.15.y'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/'/>
<updated>2014-07-01T03:13:54+00:00</updated>
<entry>
<title>usb: dwc3: gadget: clear stall when disabling endpoint</title>
<updated>2014-07-01T03:13:54+00:00</updated>
<author>
<name>Felipe Balbi</name>
<email>balbi@ti.com</email>
</author>
<published>2014-04-16T15:30:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=96da12bf4f34917a535cfdc1c435470aab5001c9'/>
<id>urn:sha1:96da12bf4f34917a535cfdc1c435470aab5001c9</id>
<content type='text'>
commit 687ef9817df7ed960d14575b9033dde3d04631fe upstream.

so it seems like DWC3 IP doesn't clear stalls
automatically when we disable an endpoint, because
of that, we _must_ make sure stalls are cleared
before clearing the proper bit in DALEPENA register.

Reported-by: Johannes Stezenbach &lt;js@sig21.net&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>usb: dwc3: core: Fix gadget for system suspend/resume</title>
<updated>2014-04-16T15:11:45+00:00</updated>
<author>
<name>Roger Quadros</name>
<email>rogerq@ti.com</email>
</author>
<published>2014-03-26T09:43:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=f45e5f00dacf09362a16339d372fcc96705e40c7'/>
<id>urn:sha1:f45e5f00dacf09362a16339d372fcc96705e40c7</id>
<content type='text'>
During system resume, if the event buffers are not setup before
the gadget controller starts then we start with invalid context
and this can lead to bus access errors. This is especially true for
platforms that loose the controller context during system suspend.
e.g. AM437x.

The following backtrace was found when the system is suspended
and resumed with g_zero loaded on AM437x-evm (USB cable connected
to host all the while).

[  120.981506] WARNING: CPU: 0 PID: 1656 at drivers/bus/omap_l3_noc.c:137 l3_interrupt_handler+0x198/0x28c()
[  120.981514] L3 custom error: MASTER:USB0 WR TARGET:GPMC
[  120.981638] Modules linked in: g_mass_storage usb_f_mass_storage libcomposite configfs bufferclass_ti(O) omaplfb(O) cryptodev(O) dwc3 snd_soc_evm snd_soc_omap snd_pe
[  120.981659] CPU: 0 PID: 1656 Comm: sh Tainted: G           O 3.12.10-gc559824 #1
[  120.981669] Backtrace:
[  120.981705] [&lt;c0017880&gt;] (dump_backtrace+0x0/0x10c) from [&lt;c0017a1c&gt;] (show_stack+0x18/0x1c)
[  120.981730]  r6:c02819ac r5:00000009 r4:ec137cb8 r3:00000000
[  120.981767] [&lt;c0017a04&gt;] (show_stack+0x0/0x1c) from [&lt;c056c0b0&gt;] (dump_stack+0x20/0x28)
[  120.981802] [&lt;c056c090&gt;] (dump_stack+0x0/0x28) from [&lt;c0046d08&gt;] (warn_slowpath_common+0x70/0x90)
[  120.981830] [&lt;c0046c98&gt;] (warn_slowpath_common+0x0/0x90) from [&lt;c0046dcc&gt;] (warn_slowpath_fmt+0x38/0x40)
[  120.981856]  r8:c0855eb0 r7:00000002 r6:f1000700 r5:00000007 r4:80080003
[  120.981886] [&lt;c0046d94&gt;] (warn_slowpath_fmt+0x0/0x40) from [&lt;c02819ac&gt;] (l3_interrupt_handler+0x198/0x28c)
[  120.981900]  r3:c0801ab8 r2:c06cb354
[  120.981936] [&lt;c0281814&gt;] (l3_interrupt_handler+0x0/0x28c) from [&lt;c007162c&gt;] (handle_irq_event_percpu+0x54/0x1b8)
[  120.981962] [&lt;c00715d8&gt;] (handle_irq_event_percpu+0x0/0x1b8) from [&lt;c00717c0&gt;] (handle_irq_event+0x30/0x40)
[  120.981993] [&lt;c0071790&gt;] (handle_irq_event+0x0/0x40) from [&lt;c0074058&gt;] (handle_fasteoi_irq+0x74/0x128)
[  120.982006]  r4:ed0056c0 r3:00000000
[  120.982033] [&lt;c0073fe4&gt;] (handle_fasteoi_irq+0x0/0x128) from [&lt;c0070f34&gt;] (generic_handle_irq+0x28/0x38)
[  120.982046]  r4:0000002a r3:c0073fe4
[  120.982085] [&lt;c0070f0c&gt;] (generic_handle_irq+0x0/0x38) from [&lt;c0015560&gt;] (handle_IRQ+0x38/0x8c)
[  120.982098]  r4:c080137c r3:00000182
[  120.982124] [&lt;c0015528&gt;] (handle_IRQ+0x0/0x8c) from [&lt;c00087e0&gt;] (gic_handle_irq+0x30/0x5c)
[  120.982145]  r6:ec137dd0 r5:c07ac480 r4:fa24010c r3:00000100
[  120.982169] [&lt;c00087b0&gt;] (gic_handle_irq+0x0/0x5c) from [&lt;c056fcc0&gt;] (__irq_svc+0x40/0x54)
[  120.982179] Exception stack(0xec137dd0 to 0xec137e18)
[  120.982195] 7dc0:                                     00000000 a00001d3 00000000 00000004
[  120.982216] 7de0: a0000153 ec1d9010 c080de90 ec137e30 c080debc 00000000 ed756e44 ec137e2c
[  120.982232] 7e00: ec137de0 ec137e18 bf1150e4 bf115474 60000153 ffffffff
[  120.982253]  r7:ec137e04 r6:ffffffff r5:60000153 r4:bf115474
[  120.982327] [&lt;bf115438&gt;] (dwc3_complete+0x0/0x40 [dwc3]) from [&lt;c0338f50&gt;] (dpm_complete+0xd4/0x19c)
[  120.982341]  r5:ed756e10 r4:ed756e64
[  120.982370] [&lt;c0338e7c&gt;] (dpm_complete+0x0/0x19c) from [&lt;c0339034&gt;] (dpm_resume_end+0x1c/0x20)
[  120.982400] [&lt;c0339018&gt;] (dpm_resume_end+0x0/0x20) from [&lt;c006d4ec&gt;] (suspend_devices_and_enter+0x118/0x33c)
[  120.982412]  r4:c0833da4 r3:00000000
[  120.982436] [&lt;c006d3d4&gt;] (suspend_devices_and_enter+0x0/0x33c) from [&lt;c006d928&gt;] (pm_suspend+0x218/0x254)
[  120.982458] [&lt;c006d710&gt;] (pm_suspend+0x0/0x254) from [&lt;c006c594&gt;] (state_store+0x70/0xc0)
[  120.982478]  r6:c057a6cc r5:c06a8320 r4:00000003 r3:0000006d
[  120.982515] [&lt;c006c524&gt;] (state_store+0x0/0xc0) from [&lt;c0264cc0&gt;] (kobj_attr_store+0x1c/0x28)
[  120.982546] [&lt;c0264ca4&gt;] (kobj_attr_store+0x0/0x28) from [&lt;c012ccb8&gt;] (sysfs_write_file+0x170/0x1a4)
[  120.982583] [&lt;c012cb48&gt;] (sysfs_write_file+0x0/0x1a4) from [&lt;c00d17e4&gt;] (vfs_write+0xb8/0x190)
[  120.982611] [&lt;c00d172c&gt;] (vfs_write+0x0/0x190) from [&lt;c00d1bf8&gt;] (SyS_write+0x44/0x78)
[  120.982641] [&lt;c00d1bb4&gt;] (SyS_write+0x0/0x78) from [&lt;c0014660&gt;] (ret_fast_syscall+0x0/0x30)

Signed-off-by: Roger Quadros &lt;rogerq@ti.com&gt;
Acked-by: Felipe Balbi &lt;balbi@ti.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc3: gadget: Iterate only over valid endpoints</title>
<updated>2014-04-16T15:11:45+00:00</updated>
<author>
<name>Jack Pham</name>
<email>jackp@codeaurora.org</email>
</author>
<published>2014-03-26T17:31:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=32702e96a9f76ea0e0a1d218310d2ac1adbd2907'/>
<id>urn:sha1:32702e96a9f76ea0e0a1d218310d2ac1adbd2907</id>
<content type='text'>
Make dwc3_gadget_resize_tx_fifos() iterate only over IN
endpoints that are actually present, based on the
num_in_eps parameter. This terminates the loop so as to
prevent dereferencing a potential NULL dwc-&gt;eps[i] where
i &gt;= (num_in_eps + num_out_eps).

Signed-off-by: Jack Pham &lt;jackp@codeaurora.org&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'usb-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb</title>
<updated>2014-04-02T00:06:09+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-04-02T00:06:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=3e75c6de1ac33fe3500f44573d9212dc82c99f59'/>
<id>urn:sha1:3e75c6de1ac33fe3500f44573d9212dc82c99f59</id>
<content type='text'>
Pull USB patches from Greg KH:
 "Here's the big USB pull request for 3.15-rc1.

  The normal set of patches, lots of controller driver updates, and a
  smattering of individual USB driver updates as well.

  All have been in linux-next for a while"

* tag 'usb-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (249 commits)
  xhci: Transition maintainership to Mathias Nyman.
  USB: disable reset-resume when USB_QUIRK_RESET is set
  USB: unbind all interfaces before rebinding any
  usb: phy: Add ulpi IDs for SMSC USB3320 and TI TUSB1210
  usb: gadget: tcm_usb_gadget: stop format strings
  usb: gadget: f_fs: add missing spinlock and mutex unlock
  usb: gadget: composite: switch over to ERR_CAST()
  usb: gadget: inode: switch over to memdup_user()
  usb: gadget: f_subset: switch over to PTR_RET
  usb: gadget: lpc32xx_udc: fix wrong clk_put() sequence
  USB: keyspan: remove dead debugging code
  USB: serial: add missing newlines to dev_&lt;level&gt; messages.
  USB: serial: add missing braces
  USB: serial: continue to write on errors
  USB: serial: continue to read on errors
  USB: serial: make bulk_out_size a lower limit
  USB: cypress_m8: fix potential scheduling while atomic
  devicetree: bindings: document lsi,zevio-usb
  usb: chipidea: add support for USB OTG controller on LSI Zevio SoCs
  usb: chipidea: imx: Use dev_name() for ci_hdrc name to distinguish USBs
  ...
</content>
</entry>
<entry>
<title>extcon: Move OF helper function to extcon core and change function name</title>
<updated>2014-03-19T05:41:58+00:00</updated>
<author>
<name>Chanwoo Choi</name>
<email>cw00.choi@samsung.com</email>
</author>
<published>2014-03-18T10:55:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=1ad94ffef22c0a6e2ee6ba90a800c32fd29ffa1f'/>
<id>urn:sha1:1ad94ffef22c0a6e2ee6ba90a800c32fd29ffa1f</id>
<content type='text'>
This patch move simply OF helper function to extcon core and change function
name as following:
- of_extcon_get_extcon_dev() -&gt; extcon_get_edev_by_phandle()

Signed-off-by: Chanwoo Choi &lt;cw00.choi@samsung.com&gt;
Acked-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc3: gadget: remove known conditions</title>
<updated>2014-03-07T16:03:24+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2014-03-07T11:20:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=3f89204bae896e1d44468886a646b84acadc3c8f'/>
<id>urn:sha1:3f89204bae896e1d44468886a646b84acadc3c8f</id>
<content type='text'>
We know what "value" is and it upsets static checkers that we appear to
have doubts about it.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc3: gadget: cut and paste fixups in suspend/resume</title>
<updated>2014-03-07T16:03:24+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2014-03-07T11:19:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=73a30bfc0d526db899033165db6f95c427e70505'/>
<id>urn:sha1:73a30bfc0d526db899033165db6f95c427e70505</id>
<content type='text'>
These were cut and paste from the -&gt;disconnect function.

Fixes commit 30d577b9bcc4 ('usb: dwc3: gadget: call gadget driver's
-&gt;suspend/-&gt;resume')

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc3: adapt dwc3 core to use Generic PHY Framework</title>
<updated>2014-03-05T20:40:05+00:00</updated>
<author>
<name>Kishon Vijay Abraham I</name>
<email>kishon@ti.com</email>
</author>
<published>2014-03-03T11:38:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=57303488cd37da58263e842de134dc65f7c626d5'/>
<id>urn:sha1:57303488cd37da58263e842de134dc65f7c626d5</id>
<content type='text'>
Adapted dwc3 core to use the Generic PHY Framework. So for init, exit,
power_on and power_off the following APIs are used phy_init(), phy_exit(),
phy_power_on() and phy_power_off().

However using the old USB phy library wont be removed till the PHYs of all
other SoC's using dwc3 core is adapted to the Generic PHY Framework.

Signed-off-by: Kishon Vijay Abraham I &lt;kishon@ti.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc3: core: support optional PHYs</title>
<updated>2014-03-05T20:40:05+00:00</updated>
<author>
<name>Kishon Vijay Abraham I</name>
<email>kishon@ti.com</email>
</author>
<published>2014-03-03T11:38:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=122f06e60f90a43d9b2fb30662af688dfb759379'/>
<id>urn:sha1:122f06e60f90a43d9b2fb30662af688dfb759379</id>
<content type='text'>
Since PHYs for dwc3 is optional (not all SoCs having PHYs for DWC3
should be programmed), do not return from probe if the USB PHY library
returns -ENODEV as that indicates the platform does not have a
programmable PHY.

While this can be considered as a temporary fix, a long term solution
would be to add 'nop' PHY for platforms that does not have programmable
PHY.

Signed-off-by: Kishon Vijay Abraham I &lt;kishon@ti.com&gt;
Reviewed-by: Roger Quadros &lt;rogerq@ti.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc3: define more revisions</title>
<updated>2014-03-05T20:40:04+00:00</updated>
<author>
<name>Felipe Balbi</name>
<email>balbi@ti.com</email>
</author>
<published>2014-03-04T15:35:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=dbf5aaf7ce29fb623d4e74818bc4fb3e9c84632e'/>
<id>urn:sha1:dbf5aaf7ce29fb623d4e74818bc4fb3e9c84632e</id>
<content type='text'>
few new revisions of the core have been released,
add them to our list of revisions so we can apply
workarounds if necessary.

Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
</feed>
