<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/usb, branch v3.2.14</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>usb gadget: fix a section mismatch when compiling g_ffs with CONFIG_USB_FUNCTIONFS_ETH</title>
<updated>2012-04-02T16:52:45+00:00</updated>
<author>
<name>Lothar Waßmann</name>
<email>LW@KARO-electronics.de</email>
</author>
<published>2012-03-11T14:08:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=3b6df5f6f4c6398dde02581ed559c5520674979f'/>
<id>3b6df5f6f4c6398dde02581ed559c5520674979f</id>
<content type='text'>
commit 8d0698428822ce63f7269e7fe81fc4580807b9ac upstream.

 commit 28824b18ac4705e876a282a15ea0de8fc957551f:
 |Author: Michal Nazarewicz &lt;m.nazarewicz@samsung.com&gt;
 |Date:   Wed May 5 12:53:13 2010 +0200
 |
 |    USB: gadget: __init and __exit tags removed
 |
 |    __init, __initdata and __exit tags have have been removed from
 |    various files to make it possible for gadgets that do not use
 |    the __init/__exit tags to use those.
 obviously missed (at least) this case leading to a section mismatch in
 g_ffs.c when compiling with CONFIG_USB_FUNCTIONFS_ETH enabled.

Signed-off-by: Lothar Waßmann &lt;LW@KARO-electronics.de&gt;
Acked-by: Michal Nazarewicz &lt;mina86@mina86.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 8d0698428822ce63f7269e7fe81fc4580807b9ac upstream.

 commit 28824b18ac4705e876a282a15ea0de8fc957551f:
 |Author: Michal Nazarewicz &lt;m.nazarewicz@samsung.com&gt;
 |Date:   Wed May 5 12:53:13 2010 +0200
 |
 |    USB: gadget: __init and __exit tags removed
 |
 |    __init, __initdata and __exit tags have have been removed from
 |    various files to make it possible for gadgets that do not use
 |    the __init/__exit tags to use those.
 obviously missed (at least) this case leading to a section mismatch in
 g_ffs.c when compiling with CONFIG_USB_FUNCTIONFS_ETH enabled.

Signed-off-by: Lothar Waßmann &lt;LW@KARO-electronics.de&gt;
Acked-by: Michal Nazarewicz &lt;mina86@mina86.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>USB: serial: mos7840: Fixed MCS7820 device attach problem</title>
<updated>2012-04-02T16:52:33+00:00</updated>
<author>
<name>Donald Lee</name>
<email>donald@asix.com.tw</email>
</author>
<published>2012-03-14T07:26:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=7b2a7db9fd2de45d1be277679d89f6bf8c56fd32'/>
<id>7b2a7db9fd2de45d1be277679d89f6bf8c56fd32</id>
<content type='text'>
commit 093ea2d3a766cb8a4c4de57efec6c0a127a58792 upstream.

A MCS7820 device supports two serial ports and a MCS7840 device supports
four serial ports. Both devices use the same driver, but the attach function
in driver was unable to correctly handle the port numbers for MCS7820
device. This problem has been fixed in this patch and this fix has been
verified on x86 Linux kernel 3.2.9 with both MCS7820 and MCS7840 devices.

Signed-off-by: Donald Lee &lt;donald@asix.com.tw&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 093ea2d3a766cb8a4c4de57efec6c0a127a58792 upstream.

A MCS7820 device supports two serial ports and a MCS7840 device supports
four serial ports. Both devices use the same driver, but the attach function
in driver was unable to correctly handle the port numbers for MCS7820
device. This problem has been fixed in this patch and this fix has been
verified on x86 Linux kernel 3.2.9 with both MCS7820 and MCS7840 devices.

Signed-off-by: Donald Lee &lt;donald@asix.com.tw&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>usb: cp210x: Update to support CP2105 and multiple interface devices</title>
<updated>2012-04-02T16:52:33+00:00</updated>
<author>
<name>Preston Fick</name>
<email>preston.fick@silabs.com</email>
</author>
<published>2012-02-24T19:42:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=30f0518605762cf1dbf3379acc573cf129cbf593'/>
<id>30f0518605762cf1dbf3379acc573cf129cbf593</id>
<content type='text'>
commit a5360a53a7ccad5ed9ccef210b94fef13c6e5529 upstream.

This patch updates the cp210x driver to support CP210x multiple
interface devices devices from Silicon Labs. The existing driver
always sends control requests to interface 0, which is hardcoded in
the usb_control_msg function calls. This only allows for single
interface devices to be used, and causes a bug when using ports on an
interface other than 0 in the multiple interface devices.

Here are the changes included in this patch:
- Updated the device list to contain the Silicon Labs factory default
  VID/PID for multiple interface CP210x devices
- Created a cp210x_port_private struct created for each port on
  startup, this struct holds the interface number
- Added a cp210x_release function to clean up the cp210x_port_private
  memory created on startup
- Modified usb_get_config and usb_set_config to get a pointer to the
  cp210x_port_private struct, and use the interface number there in the
  usb_control_message wIndex param

Signed-off-by: Preston Fick &lt;preston.fick@silabs.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit a5360a53a7ccad5ed9ccef210b94fef13c6e5529 upstream.

This patch updates the cp210x driver to support CP210x multiple
interface devices devices from Silicon Labs. The existing driver
always sends control requests to interface 0, which is hardcoded in
the usb_control_msg function calls. This only allows for single
interface devices to be used, and causes a bug when using ports on an
interface other than 0 in the multiple interface devices.

Here are the changes included in this patch:
- Updated the device list to contain the Silicon Labs factory default
  VID/PID for multiple interface CP210x devices
- Created a cp210x_port_private struct created for each port on
  startup, this struct holds the interface number
- Added a cp210x_release function to clean up the cp210x_port_private
  memory created on startup
- Modified usb_get_config and usb_set_config to get a pointer to the
  cp210x_port_private struct, and use the interface number there in the
  usb_control_message wIndex param

Signed-off-by: Preston Fick &lt;preston.fick@silabs.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>usb-serial: Add support for the Sealevel SeaLINK+8 2038-ROHS device</title>
<updated>2012-04-02T16:52:32+00:00</updated>
<author>
<name>Scott Dial</name>
<email>scott.dial@scientiallc.com</email>
</author>
<published>2012-02-25T00:04:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=39531b9566659b87cc585807e797eaf2dde4d563'/>
<id>39531b9566659b87cc585807e797eaf2dde4d563</id>
<content type='text'>
commit 6d161b99f875269ad4ffa44375e1e54bca6fd02e upstream.

This patch adds new device IDs to the ftdi_sio module to support
the new Sealevel SeaLINK+8 2038-ROHS device.

Signed-off-by: Scott Dial &lt;scott.dial@scientiallc.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 6d161b99f875269ad4ffa44375e1e54bca6fd02e upstream.

This patch adds new device IDs to the ftdi_sio module to support
the new Sealevel SeaLINK+8 2038-ROHS device.

Signed-off-by: Scott Dial &lt;scott.dial@scientiallc.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>USB: qcserial: don't grab QMI port on Gobi 1000 devices</title>
<updated>2012-04-02T16:52:32+00:00</updated>
<author>
<name>Dan Williams</name>
<email>dcbw@redhat.com</email>
</author>
<published>2012-02-24T19:08:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=b951f1a7f9727ad427088ed4c36f364144945202'/>
<id>b951f1a7f9727ad427088ed4c36f364144945202</id>
<content type='text'>
commit c192c8e71a2ded01170c1a992cd21aaedc822756 upstream.

Gobi 1000 devices have a different port layout, which wasn't respected
by the current driver, and thus it grabbed the QMI/net port.  In the
near future we'll be attaching another driver to the QMI/net port for
these devices (cdc-wdm and qmi_wwan) so make sure the qcserial driver
doesn't claim them.  This patch also prevents qcserial from binding to
interfaces 0 and 1 on 1K devices because those interfaces do not
respond.

Signed-off-by: Dan Williams &lt;dcbw@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit c192c8e71a2ded01170c1a992cd21aaedc822756 upstream.

Gobi 1000 devices have a different port layout, which wasn't respected
by the current driver, and thus it grabbed the QMI/net port.  In the
near future we'll be attaching another driver to the QMI/net port for
these devices (cdc-wdm and qmi_wwan) so make sure the qcserial driver
doesn't claim them.  This patch also prevents qcserial from binding to
interfaces 0 and 1 on 1K devices because those interfaces do not
respond.

Signed-off-by: Dan Williams &lt;dcbw@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>USB: qcserial: add several new serial devices</title>
<updated>2012-04-02T16:52:32+00:00</updated>
<author>
<name>Thomas Tuttle</name>
<email>ttuttle@chromium.org</email>
</author>
<published>2012-02-01T21:07:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=4a39b3bd2582ccb1d3ca6fea5fc15b43a66c0b3a'/>
<id>4a39b3bd2582ccb1d3ca6fea5fc15b43a66c0b3a</id>
<content type='text'>
commit 2db4d87070e87d198ab630e66a898b45eff316d9 upstream.

Signed-off-by: Thomas Tuttle &lt;ttuttle@chromium.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 2db4d87070e87d198ab630e66a898b45eff316d9 upstream.

Signed-off-by: Thomas Tuttle &lt;ttuttle@chromium.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>USB: ums_realtek: do not use stack memory for DMA in __do_config_autodelink</title>
<updated>2012-04-02T16:52:32+00:00</updated>
<author>
<name>Josh Boyer</name>
<email>jwboyer@redhat.com</email>
</author>
<published>2012-02-20T20:34:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=61849d8278208ab8445e6143387b5cfe0219c21d'/>
<id>61849d8278208ab8445e6143387b5cfe0219c21d</id>
<content type='text'>
commit 4898e07174b79013afd2b422ef6c4336ef8e6783 upstream.

__do_config_autodelink passes the data variable to the transport function.
If the calling functions pass a stack variable, this will eventually trigger
a DMA-API debug backtrace for mapping stack memory in the DMA buffer.  Fix
this by calling kmemdup for the passed data instead.

Signed-off-by: Josh Boyer &lt;jwboyer@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 4898e07174b79013afd2b422ef6c4336ef8e6783 upstream.

__do_config_autodelink passes the data variable to the transport function.
If the calling functions pass a stack variable, this will eventually trigger
a DMA-API debug backtrace for mapping stack memory in the DMA buffer.  Fix
this by calling kmemdup for the passed data instead.

Signed-off-by: Josh Boyer &lt;jwboyer@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>usb: Fix build error due to dma_mask is not at pdev_archdata at ARM</title>
<updated>2012-04-02T16:52:32+00:00</updated>
<author>
<name>Peter Chen</name>
<email>peter.chen@freescale.com</email>
</author>
<published>2012-02-16T01:41:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=727414186307fa88c9240f32cfe45a11b672274e'/>
<id>727414186307fa88c9240f32cfe45a11b672274e</id>
<content type='text'>
commit e90fc3cb087ce5c5f81e814358222cd6d197b5db upstream.

When build i.mx platform with imx_v6_v7_defconfig, and after adding
USB Gadget support, it has below build error:

CC      drivers/usb/host/fsl-mph-dr-of.o
drivers/usb/host/fsl-mph-dr-of.c: In function 'fsl_usb2_device_register':
drivers/usb/host/fsl-mph-dr-of.c:97: error: 'struct pdev_archdata'
has no member named 'dma_mask'

It has discussed at: http://www.spinics.net/lists/linux-usb/msg57302.html

For PowerPC, there is dma_mask at struct pdev_archdata, but there is
no dma_mask at struct pdev_archdata for ARM. The pdev_archdata is
related to specific platform, it should NOT be accessed by
cross platform drivers, like USB.

The code for pdev_archdata should be useless, as for PowerPC,
it has already gotten the value for pdev-&gt;dev.dma_mask at function
arch_setup_pdev_archdata of arch/powerpc/kernel/setup-common.c.

Tested-by: Ramneek Mehresh &lt;ramneek.mehresh@freescale.com&gt;
Signed-off-by: Peter Chen &lt;peter.chen@freescale.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit e90fc3cb087ce5c5f81e814358222cd6d197b5db upstream.

When build i.mx platform with imx_v6_v7_defconfig, and after adding
USB Gadget support, it has below build error:

CC      drivers/usb/host/fsl-mph-dr-of.o
drivers/usb/host/fsl-mph-dr-of.c: In function 'fsl_usb2_device_register':
drivers/usb/host/fsl-mph-dr-of.c:97: error: 'struct pdev_archdata'
has no member named 'dma_mask'

It has discussed at: http://www.spinics.net/lists/linux-usb/msg57302.html

For PowerPC, there is dma_mask at struct pdev_archdata, but there is
no dma_mask at struct pdev_archdata for ARM. The pdev_archdata is
related to specific platform, it should NOT be accessed by
cross platform drivers, like USB.

The code for pdev_archdata should be useless, as for PowerPC,
it has already gotten the value for pdev-&gt;dev.dma_mask at function
arch_setup_pdev_archdata of arch/powerpc/kernel/setup-common.c.

Tested-by: Ramneek Mehresh &lt;ramneek.mehresh@freescale.com&gt;
Signed-off-by: Peter Chen &lt;peter.chen@freescale.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>usb: fsl_udc_core: Fix scheduling while atomic dump message</title>
<updated>2012-04-02T16:52:32+00:00</updated>
<author>
<name>Peter Chen</name>
<email>peter.chen@freescale.com</email>
</author>
<published>2012-02-16T01:36:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=8bfc26d2e9978d70eef8b03b9495045425c23f22'/>
<id>8bfc26d2e9978d70eef8b03b9495045425c23f22</id>
<content type='text'>
commit c5cc5ed86667d4ae74fe40ee4ed893f4b46aba05 upstream.

When loading g_ether gadget, there is below message:

Backtrace:
[&lt;80012248&gt;] (dump_backtrace+0x0/0x10c) from [&lt;803cb42c&gt;] (dump_stack+0x18/0x1c)
r7:00000000 r6:80512000 r5:8052bef8 r4:80513f30
[&lt;803cb414&gt;] (dump_stack+0x0/0x1c) from [&lt;8000feb4&gt;] (show_regs+0x44/0x50)
[&lt;8000fe70&gt;] (show_regs+0x0/0x50) from [&lt;8004c840&gt;] (__schedule_bug+0x68/0x84)
r5:8052bef8 r4:80513f30
[&lt;8004c7d8&gt;] (__schedule_bug+0x0/0x84) from [&lt;803cd0e4&gt;] (__schedule+0x4b0/0x528)
r5:8052bef8 r4:809aad00
[&lt;803ccc34&gt;] (__schedule+0x0/0x528) from [&lt;803cd214&gt;] (_cond_resched+0x44/0x58)
[&lt;803cd1d0&gt;] (_cond_resched+0x0/0x58) from [&lt;800a9488&gt;] (dma_pool_alloc+0x184/0x250)
 r5:9f9b4000 r4:9fb4fb80
 [&lt;800a9304&gt;] (dma_pool_alloc+0x0/0x250) from [&lt;802a8ad8&gt;] (fsl_req_to_dtd+0xac/0x180)
[&lt;802a8a2c&gt;] (fsl_req_to_dtd+0x0/0x180) from [&lt;802a8ce4&gt;] (fsl_ep_queue+0x138/0x274)
[&lt;802a8bac&gt;] (fsl_ep_queue+0x0/0x274) from [&lt;7f004328&gt;] (composite_setup+0x2d4/0xfac [g_ether])
[&lt;7f004054&gt;] (composite_setup+0x0/0xfac [g_ether]) from [&lt;802a9bb4&gt;] (fsl_udc_irq+0x8dc/0xd38)
[&lt;802a92d8&gt;] (fsl_udc_irq+0x0/0xd38) from [&lt;800704f8&gt;] (handle_irq_event_percpu+0x54/0x188)
[&lt;800704a4&gt;] (handle_irq_event_percpu+0x0/0x188) from [&lt;80070674&gt;] (handle_irq_event+0x48/0x68)
[&lt;8007062c&gt;] (handle_irq_event+0x0/0x68) from [&lt;800738ec&gt;] (handle_level_irq+0xb4/0x138)
 r5:80514f94 r4:80514f40
 [&lt;80073838&gt;] (handle_level_irq+0x0/0x138) from [&lt;8006ffa4&gt;] (generic_handle_irq+0x38/0x44)
 r7:00000012 r6:80510b1c r5:80529860 r4:80512000
 [&lt;8006ff6c&gt;] (generic_handle_irq+0x0/0x44) from [&lt;8000f4c4&gt;] (handle_IRQ+0x54/0xb4)
[&lt;8000f470&gt;] (handle_IRQ+0x0/0xb4) from [&lt;800085b8&gt;] (tzic_handle_irq+0x64/0x94)
 r9:412fc085 r8:00000000 r7:80513f30 r6:00000001 r5:00000000
 r4:00000000
 [&lt;80008554&gt;] (tzic_handle_irq+0x0/0x94) from [&lt;8000e680&gt;] (__irq_svc+0x40/0x60)

The reason of above dump message is calling dma_poll_alloc with can-schedule
mem_flags at atomic context.

To fix this problem, below changes are made:
- fsl_req_to_dtd doesn't need to be protected by spin_lock_irqsave,
as struct usb_request can be access at process context. Move lock
to beginning of hardware visit (fsl_queue_td).
- Change the memory flag which using to allocate dTD descriptor buffer,
the memory flag can be from gadget layer.

It is tested at i.mx51 bbg board with g_mass_storage, g_ether, g_serial.

Signed-off-by: Peter Chen &lt;peter.chen@freescale.com&gt;
Acked-by: Li Yang &lt;leoli@freescale.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit c5cc5ed86667d4ae74fe40ee4ed893f4b46aba05 upstream.

When loading g_ether gadget, there is below message:

Backtrace:
[&lt;80012248&gt;] (dump_backtrace+0x0/0x10c) from [&lt;803cb42c&gt;] (dump_stack+0x18/0x1c)
r7:00000000 r6:80512000 r5:8052bef8 r4:80513f30
[&lt;803cb414&gt;] (dump_stack+0x0/0x1c) from [&lt;8000feb4&gt;] (show_regs+0x44/0x50)
[&lt;8000fe70&gt;] (show_regs+0x0/0x50) from [&lt;8004c840&gt;] (__schedule_bug+0x68/0x84)
r5:8052bef8 r4:80513f30
[&lt;8004c7d8&gt;] (__schedule_bug+0x0/0x84) from [&lt;803cd0e4&gt;] (__schedule+0x4b0/0x528)
r5:8052bef8 r4:809aad00
[&lt;803ccc34&gt;] (__schedule+0x0/0x528) from [&lt;803cd214&gt;] (_cond_resched+0x44/0x58)
[&lt;803cd1d0&gt;] (_cond_resched+0x0/0x58) from [&lt;800a9488&gt;] (dma_pool_alloc+0x184/0x250)
 r5:9f9b4000 r4:9fb4fb80
 [&lt;800a9304&gt;] (dma_pool_alloc+0x0/0x250) from [&lt;802a8ad8&gt;] (fsl_req_to_dtd+0xac/0x180)
[&lt;802a8a2c&gt;] (fsl_req_to_dtd+0x0/0x180) from [&lt;802a8ce4&gt;] (fsl_ep_queue+0x138/0x274)
[&lt;802a8bac&gt;] (fsl_ep_queue+0x0/0x274) from [&lt;7f004328&gt;] (composite_setup+0x2d4/0xfac [g_ether])
[&lt;7f004054&gt;] (composite_setup+0x0/0xfac [g_ether]) from [&lt;802a9bb4&gt;] (fsl_udc_irq+0x8dc/0xd38)
[&lt;802a92d8&gt;] (fsl_udc_irq+0x0/0xd38) from [&lt;800704f8&gt;] (handle_irq_event_percpu+0x54/0x188)
[&lt;800704a4&gt;] (handle_irq_event_percpu+0x0/0x188) from [&lt;80070674&gt;] (handle_irq_event+0x48/0x68)
[&lt;8007062c&gt;] (handle_irq_event+0x0/0x68) from [&lt;800738ec&gt;] (handle_level_irq+0xb4/0x138)
 r5:80514f94 r4:80514f40
 [&lt;80073838&gt;] (handle_level_irq+0x0/0x138) from [&lt;8006ffa4&gt;] (generic_handle_irq+0x38/0x44)
 r7:00000012 r6:80510b1c r5:80529860 r4:80512000
 [&lt;8006ff6c&gt;] (generic_handle_irq+0x0/0x44) from [&lt;8000f4c4&gt;] (handle_IRQ+0x54/0xb4)
[&lt;8000f470&gt;] (handle_IRQ+0x0/0xb4) from [&lt;800085b8&gt;] (tzic_handle_irq+0x64/0x94)
 r9:412fc085 r8:00000000 r7:80513f30 r6:00000001 r5:00000000
 r4:00000000
 [&lt;80008554&gt;] (tzic_handle_irq+0x0/0x94) from [&lt;8000e680&gt;] (__irq_svc+0x40/0x60)

The reason of above dump message is calling dma_poll_alloc with can-schedule
mem_flags at atomic context.

To fix this problem, below changes are made:
- fsl_req_to_dtd doesn't need to be protected by spin_lock_irqsave,
as struct usb_request can be access at process context. Move lock
to beginning of hardware visit (fsl_queue_td).
- Change the memory flag which using to allocate dTD descriptor buffer,
the memory flag can be from gadget layer.

It is tested at i.mx51 bbg board with g_mass_storage, g_ether, g_serial.

Signed-off-by: Peter Chen &lt;peter.chen@freescale.com&gt;
Acked-by: Li Yang &lt;leoli@freescale.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>cdc-wdm: Don't clear WDM_READ unless entire read buffer is emptied</title>
<updated>2012-04-02T16:52:31+00:00</updated>
<author>
<name>Ben Hutchings</name>
<email>ben@decadent.org.uk</email>
</author>
<published>2012-02-12T06:02:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=3d8e1c65555c758475a005c287f1c4b69296b226'/>
<id>3d8e1c65555c758475a005c287f1c4b69296b226</id>
<content type='text'>
commit b7a205545345578712611106b371538992e142ff upstream.

The WDM_READ flag is cleared later iff desc-&gt;length is reduced to 0.

Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Tested-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;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit b7a205545345578712611106b371538992e142ff upstream.

The WDM_READ flag is cleared later iff desc-&gt;length is reduced to 0.

Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Tested-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;

</pre>
</div>
</content>
</entry>
</feed>
