<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/usb, branch v3.14.2</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/usb?h=v3.14.2</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/usb?h=v3.14.2'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2014-04-27T00:19:04Z</updated>
<entry>
<title>tty: Fix low_latency BUG</title>
<updated>2014-04-27T00:19:04Z</updated>
<author>
<name>Peter Hurley</name>
<email>peter@hurleysoftware.com</email>
</author>
<published>2014-02-22T12:31:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4f1f4df2c1aee858da70f91970f6c9cb651a63de'/>
<id>urn:sha1:4f1f4df2c1aee858da70f91970f6c9cb651a63de</id>
<content type='text'>
commit a9c3f68f3cd8d55f809fbdb0c138ed061ea1bd25 upstream.

The user-settable knob, low_latency, has been the source of
several BUG reports which stem from flush_to_ldisc() running
in interrupt context. Since 3.12, which added several sleeping
locks (termios_rwsem and buf-&gt;lock) to the input processing path,
the frequency of these BUG reports has increased.

Note that changes in 3.12 did not introduce this regression;
sleeping locks were first added to the input processing path
with the removal of the BKL from N_TTY in commit
a88a69c91256418c5907c2f1f8a0ec0a36f9e6cc,
'n_tty: Fix loss of echoed characters and remove bkl from n_tty'
and later in commit 38db89799bdf11625a831c5af33938dcb11908b6,
'tty: throttling race fix'. Since those changes, executing
flush_to_ldisc() in interrupt_context (ie, low_latency set), is unsafe.

However, since most devices do not validate if the low_latency
setting is appropriate for the context (process or interrupt) in
which they receive data, some reports are due to misconfiguration.
Further, serial dma devices for which dma fails, resort to
interrupt receiving as a backup without resetting low_latency.

Historically, low_latency was used to force wake-up the reading
process rather than wait for the next scheduler tick. The
effect was to trim multiple milliseconds of latency from
when the process would receive new data.

Recent tests [1] have shown that the reading process now receives
data with only 10's of microseconds latency without low_latency set.

Remove the low_latency rx steering from tty_flip_buffer_push();
however, leave the knob as an optional hint to drivers that can
tune their rx fifos and such like. Cleanup stale code comments
regarding low_latency.

[1] https://lkml.org/lkml/2014/2/20/434

"Yay.. thats an annoying historical pain in the butt gone."
	-- Alan Cox

Reported-by: Beat Bolli &lt;bbolli@ewanet.ch&gt;
Reported-by: Pavel Roskin &lt;proski@gnu.org&gt;
Acked-by: David Sterba &lt;dsterba@suse.cz&gt;
Cc: Grant Edwards &lt;grant.b.edwards@gmail.com&gt;
Cc: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Cc: Hal Murray &lt;murray+fedora@ip-64-139-1-69.sjc.megapath.net&gt;
Signed-off-by: Peter Hurley &lt;peter@hurleysoftware.com&gt;
Signed-off-by: Alan Cox &lt;alan@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Revert "xhci 1.0: Limit arbitrarily-aligned scatter gather."</title>
<updated>2014-03-07T19:48:13Z</updated>
<author>
<name>Mathias Nyman</name>
<email>mathias.nyman@linux.intel.com</email>
</author>
<published>2014-03-07T15:06:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e2ed511400d41e0d136089d5a55ceab57c6a2426'/>
<id>urn:sha1:e2ed511400d41e0d136089d5a55ceab57c6a2426</id>
<content type='text'>
This reverts commit 247bf557273dd775505fb9240d2d152f4f20d304.

This commit, together with commit 3804fad45411b48233b48003e33a78f290d227c8
"USBNET: ax88179_178a: enable tso if usb host supports sg dma" were
origially added to get xHCI 1.0 hosts and usb ethernet ax88179_178a devices
working together with scatter gather. xHCI 1.0 hosts pose some requirement on how transfer
buffers are aligned, setting this requirement for 1.0 hosts caused USB 3.0 mass
storage devices to fail more frequently.

USB 3.0 mass storage devices used to work before 3.14-rc1.  Theoretically,
the TD fragment rules could have caused an occasional disk glitch.
Now the devices *will* fail, instead of theoretically failing.
&gt;From a user perspective, this looks like a regression; the USB device obviously
fails on 3.14-rc1, and may sometimes silently fail on prior kernels.

The proper soluition is to implement the TD fragment rules required, but for now
this patch needs to be reverted to get USB 3.0 mass storage devices working at the
level they used to.

Signed-off-by: Mathias Nyman &lt;mathias.nyman@linux.intel.com&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: Make DELAY_INIT quirk wait 100ms between Get Configuration requests</title>
<updated>2014-03-07T19:46:51Z</updated>
<author>
<name>Julius Werner</name>
<email>jwerner@chromium.org</email>
</author>
<published>2014-03-04T19:27:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d86db25e53fa69e3e97f3b55dd82a70689787c5d'/>
<id>urn:sha1:d86db25e53fa69e3e97f3b55dd82a70689787c5d</id>
<content type='text'>
The DELAY_INIT quirk only reduces the frequency of enumeration failures
with the Logitech HD Pro C920 and C930e webcams, but does not quite
eliminate them. We have found that adding a delay of 100ms between the
first and second Get Configuration request makes the device enumerate
perfectly reliable even after several weeks of extensive testing. The
reasons for that are anyone's guess, but since the DELAY_INIT quirk
already delays enumeration by a whole second, wating for another 10th of
that isn't really a big deal for the one other device that uses it, and
it will resolve the problems with these webcams.

Signed-off-by: Julius Werner &lt;jwerner@chromium.org&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: Add device quirk for Logitech HD Pro Webcams C920 and C930e</title>
<updated>2014-03-07T19:46:51Z</updated>
<author>
<name>Julius Werner</name>
<email>jwerner@chromium.org</email>
</author>
<published>2014-03-04T18:52:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e0429362ab15c46ea4d64c3f8c9e0933e48a143a'/>
<id>urn:sha1:e0429362ab15c46ea4d64c3f8c9e0933e48a143a</id>
<content type='text'>
We've encountered a rare issue when enumerating two Logitech webcams
after a reboot that doesn't power cycle the USB ports. They are spewing
random data (possibly some leftover UVC buffers) on the second
(full-sized) Get Configuration request of the enumeration phase. Since
the data is random this can potentially cause all kinds of odd behavior,
and since it occasionally happens multiple times (after the kernel
issues another reset due to the garbled configuration descriptor), it is
not always recoverable. Set the USB_DELAY_INIT quirk that seems to work
around the issue.

Signed-off-by: Julius Werner &lt;jwerner@chromium.org&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: ehci: fix deadlock when threadirqs option is used</title>
<updated>2014-02-26T23:46:42Z</updated>
<author>
<name>Stanislaw Gruszka</name>
<email>sgruszka@redhat.com</email>
</author>
<published>2014-02-19T09:29:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a1227f3c1030e96ebc51d677d2f636268845c5fb'/>
<id>urn:sha1:a1227f3c1030e96ebc51d677d2f636268845c5fb</id>
<content type='text'>
ehci_irq() and ehci_hrtimer_func() can deadlock on ehci-&gt;lock when
threadirqs option is used. To prevent the deadlock use
spin_lock_irqsave() in ehci_irq().

This change can be reverted when hrtimer callbacks become threaded.

Signed-off-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Cc: stable &lt;stable@vger.kernel.org&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: ftdi_sio: add Cressi Leonardo PID</title>
<updated>2014-02-26T23:46:42Z</updated>
<author>
<name>Joerg Dorchain</name>
<email>joerg@dorchain.net</email>
</author>
<published>2014-02-21T19:29:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6dbd46c849e071e6afc1e0cad489b0175bca9318'/>
<id>urn:sha1:6dbd46c849e071e6afc1e0cad489b0175bca9318</id>
<content type='text'>
Hello,

the following patch adds an entry for the PID of a Cressi Leonardo
diving computer interface to kernel 3.13.0.
It is detected as FT232RL.
Works with subsurface.

Signed-off-by: Joerg Dorchain &lt;joerg@dorchain.net&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: chipidea: need to mask when writting endptflush and endptprime</title>
<updated>2014-02-21T20:34:45Z</updated>
<author>
<name>Matthieu CASTET</name>
<email>matthieu.castet@parrot.com</email>
</author>
<published>2014-02-19T05:46:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5bf5dbeda2454296f1984adfbfc8e6f5965ac389'/>
<id>urn:sha1:5bf5dbeda2454296f1984adfbfc8e6f5965ac389</id>
<content type='text'>
ENDPTFLUSH and ENDPTPRIME registers are set by software and clear
by hardware. There is a bit for each endpoint. When we are setting
a bit for an endpoint we should make sure we do not touch other
endpoint bit. There is a race condition if the hardware clear the
bit between the read and the write in hw_write.

Cc: stable &lt;stable@vger.kernel.org&gt; # 3.11+
Signed-off-by: Peter Chen &lt;peter.chen@freescale.com&gt;
Signed-off-by: Matthieu CASTET &lt;matthieu.castet@parrot.com&gt;
Tested-by: Michael Grzeschik &lt;mgrzeschik@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'fixes-for-v3.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-linus</title>
<updated>2014-02-20T23:23:37Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2014-02-20T23:23:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0fd7a820675e9eaa79678c65d6db7dc8f774c90d'/>
<id>urn:sha1:0fd7a820675e9eaa79678c65d6db7dc8f774c90d</id>
<content type='text'>
Felipe writes:

usb: fixes for v3.14-rc4

Here are 10 fixes for our current -rc cycle. It's likely
the last round of fixes for this merge window. All patches
have soaked for a long time and have all been tested in real
HW.

The most interesting fixes are a fix for enumeration of superspeed
hubs when MUSB is acting as host, and a remote-wakeup fix also on
MUSB.

Signed-of-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: musb: correct use of schedule_delayed_work()</title>
<updated>2014-02-20T15:17:24Z</updated>
<author>
<name>Daniel Mack</name>
<email>zonque@gmail.com</email>
</author>
<published>2014-02-05T14:34:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9ccfaf74e766d49a64f86943f98d0a82996d4dec'/>
<id>urn:sha1:9ccfaf74e766d49a64f86943f98d0a82996d4dec</id>
<content type='text'>
schedule_delayed_work() takes the delay in jiffies, not msecs.

This bug slipped in with the recent reset logic cleanup
(8ed1fb790ea: "usb: musb: finish suspend/reset work independently from
musb_hub_control()").

Signed-off-by: Daniel Mack &lt;daniel@zonque.org&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: phy: msm: fix compilation errors when !CONFIG_PM_SLEEP</title>
<updated>2014-02-20T15:17:24Z</updated>
<author>
<name>Josh Cartwright</name>
<email>joshc@codeaurora.org</email>
</author>
<published>2014-02-18T16:36:29Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e7d613d1db6f968514ccd7f0cbebba031e6394d2'/>
<id>urn:sha1:e7d613d1db6f968514ccd7f0cbebba031e6394d2</id>
<content type='text'>
Both the PM_RUNTIME and PM_SLEEP callbacks call into the common
msm_otg_{suspend,resume} routines, however these routines are only being
built when CONFIG_PM_SLEEP.  In addition, msm_otg_{suspend,resume} also
depends on msm_hsusb_config_vddcx(), which is only built when
CONFIG_PM_SLEEP.

Fix the CONFIG_PM_RUNTIME, !CONFIG_PM_SLEEP case by changing the
preprocessor conditional, and moving msm_hsusb_config_vddcx().

While we're here, eliminate the CONFIG_PM conditional for setting
up the dev_pm_ops.

This address the following errors Russell King has hit doing randconfig
builds:

drivers/usb/phy/phy-msm-usb.c: In function 'msm_otg_runtime_suspend':
drivers/usb/phy/phy-msm-usb.c:1691:2: error: implicit declaration of function 'msm_otg_suspend'
drivers/usb/phy/phy-msm-usb.c: In function 'msm_otg_runtime_resume':
drivers/usb/phy/phy-msm-usb.c:1699:2: error: implicit declaration of function 'msm_otg_resume'

Cc: Ivan T. Ivanov &lt;iivanov@mm-sol.com&gt;
Reported-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Signed-off-by: Josh Cartwright &lt;joshc@codeaurora.org&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
</feed>
