<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/usb/core, branch v3.17</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v3.17</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v3.17'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2014-09-10T20:32:35Z</updated>
<entry>
<title>usb: hub: take hub-&gt;hdev reference when processing from eventlist</title>
<updated>2014-09-10T20:32:35Z</updated>
<author>
<name>Joe Lawrence</name>
<email>joe.lawrence@stratus.com</email>
</author>
<published>2014-09-10T19:07:50Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c605f3cdff53a743f6d875b76956b239deca1272'/>
<id>urn:sha1:c605f3cdff53a743f6d875b76956b239deca1272</id>
<content type='text'>
During surprise device hotplug removal tests, it was observed that
hub_events may try to call usb_lock_device on a device that has already
been freed. Protect the usb_device by taking out a reference (under the
hub_event_lock) when hub_events pulls it off the list, returning the
reference after hub_events is finished using it.

Signed-off-by: Joe Lawrence &lt;joe.lawrence@stratus.com&gt;
Suggested-by: David Bulkow &lt;david.bulkow@stratus.com&gt; for using kref
Suggested-by: Alan Stern &lt;stern@rowland.harvard.edu&gt; for placement
Acked-by: Alan Stern &lt;stern@rowland.harvard.edu&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: fix build error with CONFIG_PM_RUNTIME disabled</title>
<updated>2014-08-27T23:55:29Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2014-08-27T23:55:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a9ef803d740bfadf5e505fbc57efa57692e27025'/>
<id>urn:sha1:a9ef803d740bfadf5e505fbc57efa57692e27025</id>
<content type='text'>
commit bdd405d2a528 ("usb: hub: Prevent hub autosuspend if
usbcore.autosuspend is -1") causes a build error if CONFIG_PM_RUNTIME is
disabled.  Fix that by doing a simple #ifdef guard around it.

Reported-by: Stephen Rothwell &lt;sfr@canb.auug.org.au&gt;
Reported-by: kbuild test robot &lt;fengguang.wu@intel.com&gt;
Cc: Roger Quadros &lt;rogerq@ti.com&gt;
Cc: Michael Welling &lt;mwelling@emacinc.com&gt;
Cc: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>usb: hub: Prevent hub autosuspend if usbcore.autosuspend is -1</title>
<updated>2014-08-26T22:59:14Z</updated>
<author>
<name>Roger Quadros</name>
<email>rogerq@ti.com</email>
</author>
<published>2014-08-04T09:44:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=bdd405d2a5287bdb9b04670ea255e1f122138e66'/>
<id>urn:sha1:bdd405d2a5287bdb9b04670ea255e1f122138e66</id>
<content type='text'>
If user specifies that USB autosuspend must be disabled by module
parameter "usbcore.autosuspend=-1" then we must prevent
autosuspend of USB hub devices as well.

commit 596d789a211d introduced in v3.8 changed the original behaivour
and stopped respecting the usbcore.autosuspend parameter for hubs.

Fixes: 596d789a211d "USB: set hub's default autosuspend delay as 0"

Cc: [3.8+] &lt;stable@vger.kernel.org&gt;
Signed-off-by: Roger Quadros &lt;rogerq@ti.com&gt;
Tested-by: Michael Welling &lt;mwelling@emacinc.com&gt;
Acked-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>usb: core: fix below build warning</title>
<updated>2014-08-19T16:28:53Z</updated>
<author>
<name>Peter Chen</name>
<email>peter.chen@freescale.com</email>
</author>
<published>2014-08-19T00:56:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=5b1dc209d68c5fd223b7bd865a5cabad043dbc07'/>
<id>urn:sha1:5b1dc209d68c5fd223b7bd865a5cabad043dbc07</id>
<content type='text'>
linux-2.6/drivers/usb/core/hub.c: In function 'usb_disconnect':
linux-2.6/drivers/usb/core/hub.c:2110: warning: 'hub' may be used uninitialized in this function
linux-2.6/drivers/usb/core/hub.c:2111: warning: 'port1' may be used uninitialized in this function

Signed-off-by: Peter Chen &lt;peter.chen@freescale.com&gt;
Acked-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>usbcore: Fix wrong device in an error message in hub_port_connect()</title>
<updated>2014-08-19T16:16:08Z</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2014-08-19T15:37:55Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=dd5f5006d1035547559c8a90781a7e249787a7a2'/>
<id>urn:sha1:dd5f5006d1035547559c8a90781a7e249787a7a2</id>
<content type='text'>
The commit [5ee0f803cc3a: usbcore: don't log on consecutive debounce
failures of the same port] added the check of the reliable port, but
it also replaced the device argument to dev_err() wrongly, which leads
to a NULL dereference.

This patch restores the right device, port_dev-&gt;dev.  Also, since
dev_err() itself shows the port number, reduce the port number shown
in the error message, essentially reverting to the state before the
commit 5ee0f803cc3a.

[The fix suggested by Hannes, and the error message cleanup suggested
 by Alan Stern]

Fixes: 5ee0f803cc3a ('usbcore: don't log on consecutive debounce failures of the same port')
Reported-by: Hannes Reinecke &lt;hare@suse.com&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'usb-3.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb</title>
<updated>2014-08-05T03:11:28Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-08-05T03:11:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=ae9b475ebed96afe51d6bcf10dc7aee9c8d89ed7'/>
<id>urn:sha1:ae9b475ebed96afe51d6bcf10dc7aee9c8d89ed7</id>
<content type='text'>
Pull USB updates from Greg KH:
 "Here is the big USB driver update for 3.17-rc1.

  Loads of gadget driver changes in here, including some big file
  movements to make things easier to manage over time.  There's also the
  usual xhci and uas driver updates, and a handful of other changes in
  here.  The changelog has the full details.

  All of these have been in linux-next for a while"

* tag 'usb-3.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (211 commits)
  USB: devio: fix issue with log flooding
  uas: Log a warning when we cannot use uas because the hcd lacks streams
  uas: Only complain about missing sg if all other checks succeed
  xhci: Add missing checks for xhci_alloc_command failure
  xhci: Rename Asrock P67 pci product-id to EJ168
  xhci: Blacklist using streams on the Etron EJ168 controller
  uas: Limit qdepth to 32 when connected over usb-2
  uwb/whci: use correct structure type name in sizeof
  usb-core bInterval quirk
  USB: serial: ftdi_sio: Add support for new Xsens devices
  USB: serial: ftdi_sio: Annotate the current Xsens PID assignments
  usb: chipidea: debug: fix sparse non static symbol warnings
  usb: ci_hdrc_imx doc: fsl,usbphy is required
  usb: ci_hdrc_imx: Return -EINVAL for missing USB PHY
  usb: core: allow zero packet flag for interrupt urbs
  usb: lvstest: Fix sparse warnings generated by kbuild test bot
  USB: core: hcd-pci: free IRQ before disabling PCI device when shutting down
  phy: miphy365x: Represent each PHY channel as a DT subnode
  phy: miphy365x: Provide support for the MiPHY356x Generic PHY
  phy: miphy365x: Add Device Tree bindings for the MiPHY365x
  ...
</content>
</entry>
<entry>
<title>USB: devio: fix issue with log flooding</title>
<updated>2014-08-01T23:01:46Z</updated>
<author>
<name>Oliver Neukum</name>
<email>oneukum@suse.de</email>
</author>
<published>2014-08-01T07:55:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d310d05f1225d1f6f2bf505255fdf593bfbb3051'/>
<id>urn:sha1:d310d05f1225d1f6f2bf505255fdf593bfbb3051</id>
<content type='text'>
usbfs allows user space to pass down an URB which sets URB_SHORT_NOT_OK
for output URBs. That causes usbcore to log messages without limit
for a nonsensical disallowed combination. The fix is to silently drop
the attribute in usbfs.
The problem is reported to exist since 3.14
https://www.virtualbox.org/ticket/13085

Signed-off-by: Oliver Neukum &lt;oneukum@suse.de&gt;
CC: stable@vger.kernel.org
Acked-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>usb-core bInterval quirk</title>
<updated>2014-08-01T22:47:05Z</updated>
<author>
<name>James P Michels III</name>
<email>james.p.michels@gmail.com</email>
</author>
<published>2014-07-27T17:28:04Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=cd83ce9e6195aa3ea15ab4db92892802c20df5d0'/>
<id>urn:sha1:cd83ce9e6195aa3ea15ab4db92892802c20df5d0</id>
<content type='text'>
This patch adds a usb quirk to support devices with interupt endpoints
and bInterval values expressed as microframes. The quirk causes the
parse endpoint function to modify the reported bInterval to a standards
conforming value.

There is currently code in the endpoint parser that checks for
bIntervals that are outside of the valid range (1-16 for USB 2+ high
speed and super speed interupt endpoints). In this case, the code assumes
the bInterval is being reported in 1ms frames. As well, the correction
is only applied if the original bInterval value is out of the 1-16 range.

With this quirk applied to the device, the bInterval will be
accurately adjusted from microframes to an exponent.

Signed-off-by: James P Michels III &lt;james.p.michels@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>usb: core: allow zero packet flag for interrupt urbs</title>
<updated>2014-07-22T23:30:58Z</updated>
<author>
<name>Amit Virdi</name>
<email>amit.virdi@st.com</email>
</author>
<published>2014-07-21T05:16:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9672f0feb566423deb245032a1c9a7a14dacb6eb'/>
<id>urn:sha1:9672f0feb566423deb245032a1c9a7a14dacb6eb</id>
<content type='text'>
Section 4.4.7.2 "Interrupt Transfer Bandwidth Requirements" of the USB3.0 spec
says:
	A zero-length data payload is a valid transfer and may be useful for
	some implementations.

So, extend the logic of allowing URB_ZERO_PACKET to interrupt urbs too.
Otherwise, the kernel throws warning of BOGUS transfer flags.

Signed-off-by: Amit Virdi &lt;amit.virdi@st.com&gt;
Acked-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Acked-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>USB: core: hcd-pci: free IRQ before disabling PCI device when shutting down</title>
<updated>2014-07-22T23:30:58Z</updated>
<author>
<name>Jiang Liu</name>
<email>jiang.liu@linux.intel.com</email>
</author>
<published>2014-07-21T02:17:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c5946f9d286ad368329c79107fdf4d825d2091bd'/>
<id>urn:sha1:c5946f9d286ad368329c79107fdf4d825d2091bd</id>
<content type='text'>
The assigned IRQ should be freed before calling pci_disable_device()
when shutting down system, otherwise it will cause following warning.
[  568.879482] ------------[ cut here ]------------
[  568.884236] WARNING: CPU: 1 PID: 3300 at /home/konrad/ssd/konrad/xtt-i386/bootstrap/linux-usb/fs/proc/generic.c:521 remove_proc_entry+0x165/0x170()
[  568.897846] remove_proc_entry: removing non-empty directory 'irq/16', leaking at least 'ohci_hcd:usb4'
[  568.907430] Modules linked in: dm_multipath dm_mod iscsi_boot_sysfs iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi libcrc32c crc32c_generic sg sd_mod crct10dif_generic crc_t10dif crct10dif_common radeon fbcon tileblit ttm font bitblit softcursor ata_generic ahci libahci drm_kms_helper skge r8169 libata mii scsi_mod wmi acpi_cpufreq
[  568.938539] CPU: 1 PID: 3300 Comm: init Tainted: G        W     3.16.0-rc5upstream-01651-g03b9189 #1
[  568.947946] Hardware name: ECS A780GM-A Ultra/A780GM-A Ultra, BIOS 080015  04/01/2010
[  568.956008]  00000209 ed0f1cd0 c1617946 c175403c ed0f1d00 c1090c3f c1754084 ed0f1d2c
[  568.964068]  00000ce4 c175403c 00000209 c11f22a5 c11f22a5 f755e8c0 ed0f1d78 f755e90d
[  568.972128]  ed0f1d18 c1090cde 00000009 ed0f1d10 c1754084 ed0f1d2c ed0f1d60 c11f22a5
[  568.980194] Call Trace:
[  568.982715]  [&lt;c1617946&gt;] dump_stack+0x48/0x60
[  568.987294]  [&lt;c1090c3f&gt;] warn_slowpath_common+0x7f/0xa0
[  569.003887]  [&lt;c1090cde&gt;] warn_slowpath_fmt+0x2e/0x30
[  569.009092]  [&lt;c11f22a5&gt;] remove_proc_entry+0x165/0x170
[  569.014476]  [&lt;c10da6ca&gt;] unregister_irq_proc+0xaa/0xc0
[  569.019858]  [&lt;c10d582f&gt;] free_desc+0x1f/0x60
[  569.024346]  [&lt;c10d58aa&gt;] irq_free_descs+0x3a/0x80
[  569.029283]  [&lt;c10d9e9d&gt;] irq_dispose_mapping+0x2d/0x50
[  569.034666]  [&lt;c1078fd3&gt;] mp_unmap_irq+0x73/0xa0
[  569.039423]  [&lt;c107196b&gt;] acpi_unregister_gsi_ioapic+0x2b/0x40
[  569.045431]  [&lt;c107180f&gt;] acpi_unregister_gsi+0xf/0x20
[  569.050725]  [&lt;c1339cad&gt;] acpi_pci_irq_disable+0x4b/0x50
[  569.056196]  [&lt;c14daa38&gt;] pcibios_disable_device+0x18/0x20
[  569.061848]  [&lt;c130123d&gt;] do_pci_disable_device+0x4d/0x60
[  569.067410]  [&lt;c13012b7&gt;] pci_disable_device+0x47/0xb0
[  569.077814]  [&lt;c14800b1&gt;] usb_hcd_pci_shutdown+0x31/0x40
[  569.083285]  [&lt;c1304b19&gt;] pci_device_shutdown+0x19/0x50
[  569.088667]  [&lt;c13fda64&gt;] device_shutdown+0x14/0x120
[  569.093777]  [&lt;c10ac29d&gt;] kernel_restart_prepare+0x2d/0x30
[  569.099429]  [&lt;c10ac41e&gt;] kernel_restart+0xe/0x60
[  569.109028]  [&lt;c10ac611&gt;] SYSC_reboot+0x191/0x220
[  569.159269]  [&lt;c10ac6ba&gt;] SyS_reboot+0x1a/0x20
[  569.163843]  [&lt;c161c718&gt;] sysenter_do_call+0x12/0x16
[  569.168951] ---[ end trace ccc1ec4471c289c9 ]---

Tested-by: Aaron Lu &lt;aaron.lu@intel.com&gt;
Signed-off-by: Jiang Liu &lt;jiang.liu@linux.intel.com&gt;
Reviewed-by: Huang Rui &lt;ray.huang@amd.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
