<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/usb/class, branch tegra</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>usb: cdc-acm: fix packet loss issue</title>
<updated>2012-07-26T14:41:00+00:00</updated>
<author>
<name>Steve Lin</name>
<email>stlin@nvidia.com</email>
</author>
<published>2012-07-19T19:36:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ab5db3d4930f10bf26e5c2d9ca567a447b433e41'/>
<id>ab5db3d4930f10bf26e5c2d9ca567a447b433e41</id>
<content type='text'>
There is race between acm_suspend and acm_read_bulk_callback. Host may
receive bulk transfer right before suspend. The packet will be discarded
if this urb is killed in acm_suspend. This patch checks the actual length
of urb and processes it in this case.

Bug 996268

Signed-off-by: Steve Lin &lt;stlin@nvidia.com&gt;

Change-Id: Ief2b42708160b67903f976ec60da825d46c4720b
Reviewed-on: http://git-master/r/117135
(cherry picked from commit af3e96c987fbae8a135d1ff18872b9c32e09b67f)
Reviewed-on: http://git-master/r/118105
Reviewed-by: Automatic_Commit_Validation_User
Tested-by: Steve Lin &lt;stlin@nvidia.com&gt;
Reviewed-by: Steve Lin &lt;stlin@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There is race between acm_suspend and acm_read_bulk_callback. Host may
receive bulk transfer right before suspend. The packet will be discarded
if this urb is killed in acm_suspend. This patch checks the actual length
of urb and processes it in this case.

Bug 996268

Signed-off-by: Steve Lin &lt;stlin@nvidia.com&gt;

Change-Id: Ief2b42708160b67903f976ec60da825d46c4720b
Reviewed-on: http://git-master/r/117135
(cherry picked from commit af3e96c987fbae8a135d1ff18872b9c32e09b67f)
Reviewed-on: http://git-master/r/118105
Reviewed-by: Automatic_Commit_Validation_User
Tested-by: Steve Lin &lt;stlin@nvidia.com&gt;
Reviewed-by: Steve Lin &lt;stlin@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: cdc-acm: disconnect stuck issue and acm_tty_open crash</title>
<updated>2012-04-16T21:35:32+00:00</updated>
<author>
<name>Vinayak Pane</name>
<email>vpane@nvidia.com</email>
</author>
<published>2012-03-31T03:03:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e17d5125661f48157cb714d9108d7ae062e33729'/>
<id>e17d5125661f48157cb714d9108d7ae062e33729</id>
<content type='text'>
acm_disconnect() should not kill the anchored URB because
they are already killed by stop_data_traffic().

Submit read URBs before control urb is sent because there is a
possibility of response coming immediately after ctrl is sent.

Bug 957744
Bug 961808

(cherry picked from commit 05c10cbe01f0275e5fe121d763692261c51987fc)
Reviewed-on: http://git-master/r/93673
Signed-off-by: Vinayak Pane &lt;vpane@nvidia.com&gt;

Change-Id: I5597e239ec3722afb6b4c1cd5fbe228e30af2a2d
Reviewed-on: http://git-master/r/96585
Reviewed-by: Simone Willett &lt;swillett@nvidia.com&gt;
Tested-by: Simone Willett &lt;swillett@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
acm_disconnect() should not kill the anchored URB because
they are already killed by stop_data_traffic().

Submit read URBs before control urb is sent because there is a
possibility of response coming immediately after ctrl is sent.

Bug 957744
Bug 961808

(cherry picked from commit 05c10cbe01f0275e5fe121d763692261c51987fc)
Reviewed-on: http://git-master/r/93673
Signed-off-by: Vinayak Pane &lt;vpane@nvidia.com&gt;

Change-Id: I5597e239ec3722afb6b4c1cd5fbe228e30af2a2d
Reviewed-on: http://git-master/r/96585
Reviewed-by: Simone Willett &lt;swillett@nvidia.com&gt;
Tested-by: Simone Willett &lt;swillett@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>usb: cdc-acm: fix anchored urb leak</title>
<updated>2012-04-16T21:11:20+00:00</updated>
<author>
<name>Vinayak Pane</name>
<email>vpane@nvidia.com</email>
</author>
<published>2012-02-27T01:32:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=99cea7ab4b7db1ad597712fac491488f9845b99f'/>
<id>99cea7ab4b7db1ad597712fac491488f9845b99f</id>
<content type='text'>
Anchored urbs needs to put ref count after unanchoring
them at resume.

Bug 944250

Signed-off-by: Vinayak Pane &lt;vpane@nvidia.com&gt;
Reviewed-on: http://git-master/r/86015
(cherry picked from commit eb88ad392bdc05ce216d6adeec54c4f4856ec78a)

Change-Id: I7e5413fb8866db9a15da57166402cb567f07391a
Reviewed-on: http://git-master/r/96333
Tested-by: Vinayak Pane &lt;vpane@nvidia.com&gt;
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Steve Lin &lt;stlin@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Anchored urbs needs to put ref count after unanchoring
them at resume.

Bug 944250

Signed-off-by: Vinayak Pane &lt;vpane@nvidia.com&gt;
Reviewed-on: http://git-master/r/86015
(cherry picked from commit eb88ad392bdc05ce216d6adeec54c4f4856ec78a)

Change-Id: I7e5413fb8866db9a15da57166402cb567f07391a
Reviewed-on: http://git-master/r/96333
Tested-by: Vinayak Pane &lt;vpane@nvidia.com&gt;
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Steve Lin &lt;stlin@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>arm : tegra : comm: AT command loss WAR</title>
<updated>2012-03-06T01:41:25+00:00</updated>
<author>
<name>Seshendra Gadagottu</name>
<email>sgadagottu@nvidia.com</email>
</author>
<published>2012-02-09T04:03:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=48a177ef87aeafc913e7e7e1eeb6a74c9636628f'/>
<id>48a177ef87aeafc913e7e7e1eeb6a74c9636628f</id>
<content type='text'>
Workaround to avoid make cdc-acm susp_count
to negative.

Bug 935834

Change-Id: I251049537e21662de329f11ecbad0ce15abb1037
Signed-off-by: Seshendra Gadagottu&lt;sgadagottu@nvidia.com&gt;
Reviewed-on: http://git-master/r/84288
(cherry picked from commit d056c04d453bc641e856a61251e7d0aa2dcce73b)
Reviewed-on: http://git-master/r/87505
Reviewed-by: Simone Willett &lt;swillett@nvidia.com&gt;
Tested-by: Simone Willett &lt;swillett@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Workaround to avoid make cdc-acm susp_count
to negative.

Bug 935834

Change-Id: I251049537e21662de329f11ecbad0ce15abb1037
Signed-off-by: Seshendra Gadagottu&lt;sgadagottu@nvidia.com&gt;
Reviewed-on: http://git-master/r/84288
(cherry picked from commit d056c04d453bc641e856a61251e7d0aa2dcce73b)
Reviewed-on: http://git-master/r/87505
Reviewed-by: Simone Willett &lt;swillett@nvidia.com&gt;
Tested-by: Simone Willett &lt;swillett@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>usb: cdc-acm: Add acm handle validity check</title>
<updated>2012-03-06T01:27:02+00:00</updated>
<author>
<name>Seshendra Gadagottu</name>
<email>sgadagottu@nvidia.com</email>
</author>
<published>2012-03-03T04:03:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4454d77bc84584d9bcce09ca81a7ea681a09eda4'/>
<id>4454d77bc84584d9bcce09ca81a7ea681a09eda4</id>
<content type='text'>
Added check for acm handle validity before doing any action
in acm_suspend, acm_resume and acm_reset_resume functions.

Bug 939237

Change-Id: Idc5d7db6bd405056a90b85009825ccbd03547757
Signed-off-by: Seshendra Gadagottu&lt;sgadagottu@nvidia.com&gt;
Reviewed-on: http://git-master/r/83413
(cherry picked from commit 1dd9736cd2df12c0315a44c95010cb64eee04050)
Reviewed-on: http://git-master/r/87504
Reviewed-by: Steve Lin &lt;stlin@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Added check for acm handle validity before doing any action
in acm_suspend, acm_resume and acm_reset_resume functions.

Bug 939237

Change-Id: Idc5d7db6bd405056a90b85009825ccbd03547757
Signed-off-by: Seshendra Gadagottu&lt;sgadagottu@nvidia.com&gt;
Reviewed-on: http://git-master/r/83413
(cherry picked from commit 1dd9736cd2df12c0315a44c95010cb64eee04050)
Reviewed-on: http://git-master/r/87504
Reviewed-by: Steve Lin &lt;stlin@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>usb: cdc-acm: Fix compilation warning in cdc-acm driver.</title>
<updated>2012-02-21T17:11:49+00:00</updated>
<author>
<name>Steve Lin</name>
<email>stlin@nvidia.com</email>
</author>
<published>2012-02-14T22:26:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=713a1581efdb741559b18e2f00cbe53dda0f5b97'/>
<id>713a1581efdb741559b18e2f00cbe53dda0f5b97</id>
<content type='text'>
Bug 934177

Change-Id: If101278cf553bd92ad98a9485cedf0c3bf1df39a
Signed-off-by: Steve Lin &lt;stlin@nvidia.com&gt;
Reviewed-on: http://git-master/r/83913
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Bug 934177

Change-Id: If101278cf553bd92ad98a9485cedf0c3bf1df39a
Signed-off-by: Steve Lin &lt;stlin@nvidia.com&gt;
Reviewed-on: http://git-master/r/83913
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: cdc-wdm: call wake_up_all to allow driver to shutdown on device removal</title>
<updated>2012-02-10T00:04:16+00:00</updated>
<author>
<name>Bjørn Mork</name>
<email>bjorn@mork.no</email>
</author>
<published>2012-01-16T14:11:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2ea18f70f16e7ad815bda8bbcdb3affcea6e7f8b'/>
<id>2ea18f70f16e7ad815bda8bbcdb3affcea6e7f8b</id>
<content type='text'>
commit 62aaf24dc125d7c55c93e313d15611f152b030c7 upstream.

wdm_disconnect() waits for the mutex held by wdm_read() before
calling wake_up_all().  This causes a deadlock, preventing device removal
to complete.  Do the wake_up_all() before we start waiting for the locks.

Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Cc: Oliver Neukum &lt;oliver@neukum.org&gt;
Cc: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Varun Wadekar &lt;vwadekar@nvidia.com&gt;
Change-Id: Ic92d101f26698708a10ba276eff70825d19d6c89
Reviewed-on: http://git-master/r/79686
Reviewed-by: Simone Willett &lt;swillett@nvidia.com&gt;
Tested-by: Simone Willett &lt;swillett@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 62aaf24dc125d7c55c93e313d15611f152b030c7 upstream.

wdm_disconnect() waits for the mutex held by wdm_read() before
calling wake_up_all().  This causes a deadlock, preventing device removal
to complete.  Do the wake_up_all() before we start waiting for the locks.

Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Cc: Oliver Neukum &lt;oliver@neukum.org&gt;
Cc: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Varun Wadekar &lt;vwadekar@nvidia.com&gt;
Change-Id: Ic92d101f26698708a10ba276eff70825d19d6c89
Reviewed-on: http://git-master/r/79686
Reviewed-by: Simone Willett &lt;swillett@nvidia.com&gt;
Tested-by: Simone Willett &lt;swillett@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: cdc-wdm: use two mutexes to allow simultaneous read and write</title>
<updated>2012-02-09T23:57:49+00:00</updated>
<author>
<name>Bjørn Mork</name>
<email>bjorn@mork.no</email>
</author>
<published>2012-01-16T11:41:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2a92081d65b7d78fb6d7a95b7addeabb80e5cf06'/>
<id>2a92081d65b7d78fb6d7a95b7addeabb80e5cf06</id>
<content type='text'>
commit e8537bd2c4f325a4796da33564ddcef9489b7feb upstream.

using a separate read and write mutex for locking is sufficient to make the
driver accept simultaneous read and write. This improves useability a lot.

Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Cc: Oliver Neukum &lt;oneukum@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Varun Wadekar &lt;vwadekar@nvidia.com&gt;
Change-Id: I10ed5f0e41b379f0fef8a22abde46d4231162ff9
Reviewed-on: http://git-master/r/79672
Reviewed-by: Simone Willett &lt;swillett@nvidia.com&gt;
Tested-by: Simone Willett &lt;swillett@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit e8537bd2c4f325a4796da33564ddcef9489b7feb upstream.

using a separate read and write mutex for locking is sufficient to make the
driver accept simultaneous read and write. This improves useability a lot.

Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Cc: Oliver Neukum &lt;oneukum@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Varun Wadekar &lt;vwadekar@nvidia.com&gt;
Change-Id: I10ed5f0e41b379f0fef8a22abde46d4231162ff9
Reviewed-on: http://git-master/r/79672
Reviewed-by: Simone Willett &lt;swillett@nvidia.com&gt;
Tested-by: Simone Willett &lt;swillett@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: cdc-wdm: updating desc-&gt;length must be protected by spin_lock</title>
<updated>2012-02-09T23:52:53+00:00</updated>
<author>
<name>Bjørn Mork</name>
<email>bjorn@mork.no</email>
</author>
<published>2012-01-16T11:41:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=09a3c538464a83ec9b82e3af2e9ab991ed61b319'/>
<id>09a3c538464a83ec9b82e3af2e9ab991ed61b319</id>
<content type='text'>
commit c428b70c1e115c5649707a602742e34130d19428 upstream.

wdm_in_callback() will also touch this field, so we cannot change it without locking

Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Acked-by: Oliver Neukum &lt;oneukum@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Varun Wadekar &lt;vwadekar@nvidia.com&gt;
Change-Id: I7eb2367de1a74be1ac68578354113154595d02cc
Reviewed-on: http://git-master/r/79671
Reviewed-by: Simone Willett &lt;swillett@nvidia.com&gt;
Tested-by: Simone Willett &lt;swillett@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit c428b70c1e115c5649707a602742e34130d19428 upstream.

wdm_in_callback() will also touch this field, so we cannot change it without locking

Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Acked-by: Oliver Neukum &lt;oneukum@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Varun Wadekar &lt;vwadekar@nvidia.com&gt;
Change-Id: I7eb2367de1a74be1ac68578354113154595d02cc
Reviewed-on: http://git-master/r/79671
Reviewed-by: Simone Willett &lt;swillett@nvidia.com&gt;
Tested-by: Simone Willett &lt;swillett@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: cdc-wdm: better allocate a buffer that is at least as big as we tell the USB core</title>
<updated>2012-02-08T22:41:05+00:00</updated>
<author>
<name>Bjørn Mork</name>
<email>bjorn@mork.no</email>
</author>
<published>2012-01-16T14:11:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a5ab014ca5dce7cd039a6080b480f7e516ffc59a'/>
<id>a5ab014ca5dce7cd039a6080b480f7e516ffc59a</id>
<content type='text'>
commit 655e247daf52b202a6c2d0f8a06dd2051e756ce4 upstream.

As it turns out, there was a mismatch between the allocated inbuf size
(desc-&gt;bMaxPacketSize0, typically something like 64) and the length we
specified in the URB (desc-&gt;wMaxCommand, typically something like 2048)

Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Cc: Oliver Neukum &lt;oliver@neukum.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Varun Wadekar &lt;vwadekar@nvidia.com&gt;

Change-Id: I00872baa6896dfdd076fdcfc57956f1420973a7f
Reviewed-on: http://git-master/r/79687
Reviewed-by: Simone Willett &lt;swillett@nvidia.com&gt;
Tested-by: Simone Willett &lt;swillett@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 655e247daf52b202a6c2d0f8a06dd2051e756ce4 upstream.

As it turns out, there was a mismatch between the allocated inbuf size
(desc-&gt;bMaxPacketSize0, typically something like 64) and the length we
specified in the URB (desc-&gt;wMaxCommand, typically something like 2048)

Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Cc: Oliver Neukum &lt;oliver@neukum.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Varun Wadekar &lt;vwadekar@nvidia.com&gt;

Change-Id: I00872baa6896dfdd076fdcfc57956f1420973a7f
Reviewed-on: http://git-master/r/79687
Reviewed-by: Simone Willett &lt;swillett@nvidia.com&gt;
Tested-by: Simone Willett &lt;swillett@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
