<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/usb, branch v3.10.41</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: option: add and update a number of CMOTech devices</title>
<updated>2014-05-31T04:52:13+00:00</updated>
<author>
<name>Bjørn Mork</name>
<email>bjorn@mork.no</email>
</author>
<published>2014-04-25T16:49:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8cfe6831bd3fc42a4b1d276e59d005d2be4f4f7d'/>
<id>8cfe6831bd3fc42a4b1d276e59d005d2be4f4f7d</id>
<content type='text'>
commit 34f972d6156fe9eea2ab7bb418c71f9d1d5c8e7b upstream.

A number of older CMOTech modems are based on Qualcomm
chips.  The blacklisted interfaces are QMI/wwan.

Reported-by: Lars Melin &lt;larsm17@gmail.com&gt;
Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&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 34f972d6156fe9eea2ab7bb418c71f9d1d5c8e7b upstream.

A number of older CMOTech modems are based on Qualcomm
chips.  The blacklisted interfaces are QMI/wwan.

Reported-by: Lars Melin &lt;larsm17@gmail.com&gt;
Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>usb: option: add Alcatel L800MA</title>
<updated>2014-05-31T04:52:13+00:00</updated>
<author>
<name>Bjørn Mork</name>
<email>bjorn@mork.no</email>
</author>
<published>2014-04-25T16:49:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=447bcef42bf28e03be09eebb1c922b4c1a1f9b8a'/>
<id>447bcef42bf28e03be09eebb1c922b4c1a1f9b8a</id>
<content type='text'>
commit dd6b48ecec2ea7d15f28d5e5474388681899a5e1 upstream.

Device interface layout:
0: ff/ff/ff - serial
1: ff/00/00 - serial AT+PPP
2: ff/ff/ff - QMI/wwan
3: 08/06/50 - storage

Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&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 dd6b48ecec2ea7d15f28d5e5474388681899a5e1 upstream.

Device interface layout:
0: ff/ff/ff - serial
1: ff/00/00 - serial AT+PPP
2: ff/ff/ff - QMI/wwan
3: 08/06/50 - storage

Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>usb: option: add Olivetti Olicard 500</title>
<updated>2014-05-31T04:52:13+00:00</updated>
<author>
<name>Bjørn Mork</name>
<email>bjorn@mork.no</email>
</author>
<published>2014-04-25T16:49:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4f4010b4d135f0f93dba9e1382600d74b17f9ba9'/>
<id>4f4010b4d135f0f93dba9e1382600d74b17f9ba9</id>
<content type='text'>
commit 533b3994610f316e5cd61b56d0c4daa15c830f89 upstream.

Device interface layout:
0: ff/ff/ff - serial
1: ff/ff/ff - serial AT+PPP
2: 08/06/50 - storage
3: ff/ff/ff - serial
4: ff/ff/ff - QMI/wwan

Reported-by: Julio Araujo &lt;julio.araujo@wllctel.com.br&gt;
Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&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 533b3994610f316e5cd61b56d0c4daa15c830f89 upstream.

Device interface layout:
0: ff/ff/ff - serial
1: ff/ff/ff - serial AT+PPP
2: 08/06/50 - storage
3: ff/ff/ff - serial
4: ff/ff/ff - QMI/wwan

Reported-by: Julio Araujo &lt;julio.araujo@wllctel.com.br&gt;
Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>usb: qcserial: add Sierra Wireless MC7305/MC7355</title>
<updated>2014-05-31T04:52:13+00:00</updated>
<author>
<name>Bjørn Mork</name>
<email>bjorn@mork.no</email>
</author>
<published>2014-04-25T16:49:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=954be371ab9d3409f3c1853f9d280b1583cc796d'/>
<id>954be371ab9d3409f3c1853f9d280b1583cc796d</id>
<content type='text'>
commit bce4f588f19d59fc07fadfeb0b2a3a06c942827a upstream.

Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&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 bce4f588f19d59fc07fadfeb0b2a3a06c942827a upstream.

Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>usb: qcserial: add Sierra Wireless MC73xx</title>
<updated>2014-05-31T04:52:13+00:00</updated>
<author>
<name>Bjørn Mork</name>
<email>bjorn@mork.no</email>
</author>
<published>2014-04-25T16:49:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b287dd081ace55a7d3e1ee69f40a82e3fe39b84d'/>
<id>b287dd081ace55a7d3e1ee69f40a82e3fe39b84d</id>
<content type='text'>
commit 70a3615fc07c2330ed7c1e922f3c44f4a67c0762 upstream.

Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&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 70a3615fc07c2330ed7c1e922f3c44f4a67c0762 upstream.

Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>usb: qcserial: add Sierra Wireless EM7355</title>
<updated>2014-05-31T04:52:13+00:00</updated>
<author>
<name>Bjørn Mork</name>
<email>bjorn@mork.no</email>
</author>
<published>2014-04-25T16:49:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f39486db5f3fefb2c48f65d7c29071c2ef42c602'/>
<id>f39486db5f3fefb2c48f65d7c29071c2ef42c602</id>
<content type='text'>
commit a00986f81182a69dee4d2c48e8c19805bdf0f790 upstream.

Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&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 a00986f81182a69dee4d2c48e8c19805bdf0f790 upstream.

Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>USB: io_ti: fix firmware download on big-endian machines</title>
<updated>2014-05-31T04:52:13+00:00</updated>
<author>
<name>Johan Hovold</name>
<email>jhovold@gmail.com</email>
</author>
<published>2014-04-25T13:23:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9e036f060793ddb0a9f3f70d4753877b85e894b4'/>
<id>9e036f060793ddb0a9f3f70d4753877b85e894b4</id>
<content type='text'>
commit 5509076d1b4485ce9fb07705fcbcd2695907ab5b upstream.

During firmware download the device expects memory addresses in
big-endian byte order. As the wIndex parameter which hold the address is
sent in little-endian byte order regardless of host byte order, we need
to use swab16 rather than cpu_to_be16.

Also make sure to handle the struct ti_i2c_desc size parameter which is
returned in little-endian byte order.

Reported-by: Ludovic Drolez &lt;ldrolez@debian.org&gt;
Tested-by: Ludovic Drolez &lt;ldrolez@debian.org&gt;
Signed-off-by: Johan Hovold &lt;jhovold@gmail.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 5509076d1b4485ce9fb07705fcbcd2695907ab5b upstream.

During firmware download the device expects memory addresses in
big-endian byte order. As the wIndex parameter which hold the address is
sent in little-endian byte order regardless of host byte order, we need
to use swab16 rather than cpu_to_be16.

Also make sure to handle the struct ti_i2c_desc size parameter which is
returned in little-endian byte order.

Reported-by: Ludovic Drolez &lt;ldrolez@debian.org&gt;
Tested-by: Ludovic Drolez &lt;ldrolez@debian.org&gt;
Signed-off-by: Johan Hovold &lt;jhovold@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>USB: serial: fix sysfs-attribute removal deadlock</title>
<updated>2014-05-31T04:52:13+00:00</updated>
<author>
<name>Johan Hovold</name>
<email>jhovold@gmail.com</email>
</author>
<published>2014-04-23T09:32:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2eb1a584d440a3aed1b4793f39d091c1fff3f6d7'/>
<id>2eb1a584d440a3aed1b4793f39d091c1fff3f6d7</id>
<content type='text'>
commit 10164c2ad6d2c16809f6c09e278f946e47801b3a upstream.

Fix driver new_id sysfs-attribute removal deadlock by making sure to
not hold any locks that the attribute operations grab when removing the
attribute.

Specifically, usb_serial_deregister holds the table mutex when
deregistering the driver, which includes removing the new_id attribute.
This can lead to a deadlock as writing to new_id increments the
attribute's active count before trying to grab the same mutex in
usb_serial_probe.

The deadlock can easily be triggered by inserting a sleep in
usb_serial_deregister and writing the id of an unbound device to new_id
during module unload.

As the table mutex (in this case) is used to prevent subdriver unload
during probe, it should be sufficient to only hold the lock while
manipulating the usb-serial driver list during deregister. A racing
probe will then either fail to find a matching subdriver or fail to get
the corresponding module reference.

Since v3.15-rc1 this also triggers the following lockdep warning:

======================================================
[ INFO: possible circular locking dependency detected ]
3.15.0-rc2 #123 Tainted: G        W
-------------------------------------------------------
modprobe/190 is trying to acquire lock:
 (s_active#4){++++.+}, at: [&lt;c0167aa0&gt;] kernfs_remove_by_name_ns+0x4c/0x94

but task is already holding lock:
 (table_lock){+.+.+.}, at: [&lt;bf004d84&gt;] usb_serial_deregister+0x3c/0x78 [usbserial]

which lock already depends on the new lock.

the existing dependency chain (in reverse order) is:

-&gt; #1 (table_lock){+.+.+.}:
       [&lt;c0075f84&gt;] __lock_acquire+0x1694/0x1ce4
       [&lt;c0076de8&gt;] lock_acquire+0xb4/0x154
       [&lt;c03af3cc&gt;] _raw_spin_lock+0x4c/0x5c
       [&lt;c02bbc24&gt;] usb_store_new_id+0x14c/0x1ac
       [&lt;bf007eb4&gt;] new_id_store+0x68/0x70 [usbserial]
       [&lt;c025f568&gt;] drv_attr_store+0x30/0x3c
       [&lt;c01690e0&gt;] sysfs_kf_write+0x5c/0x60
       [&lt;c01682c0&gt;] kernfs_fop_write+0xd4/0x194
       [&lt;c010881c&gt;] vfs_write+0xbc/0x198
       [&lt;c0108e4c&gt;] SyS_write+0x4c/0xa0
       [&lt;c000f880&gt;] ret_fast_syscall+0x0/0x48

-&gt; #0 (s_active#4){++++.+}:
       [&lt;c03a7a28&gt;] print_circular_bug+0x68/0x2f8
       [&lt;c0076218&gt;] __lock_acquire+0x1928/0x1ce4
       [&lt;c0076de8&gt;] lock_acquire+0xb4/0x154
       [&lt;c0166b70&gt;] __kernfs_remove+0x254/0x310
       [&lt;c0167aa0&gt;] kernfs_remove_by_name_ns+0x4c/0x94
       [&lt;c0169fb8&gt;] remove_files.isra.1+0x48/0x84
       [&lt;c016a2fc&gt;] sysfs_remove_group+0x58/0xac
       [&lt;c016a414&gt;] sysfs_remove_groups+0x34/0x44
       [&lt;c02623b8&gt;] driver_remove_groups+0x1c/0x20
       [&lt;c0260e9c&gt;] bus_remove_driver+0x3c/0xe4
       [&lt;c026235c&gt;] driver_unregister+0x38/0x58
       [&lt;bf007fb4&gt;] usb_serial_bus_deregister+0x84/0x88 [usbserial]
       [&lt;bf004db4&gt;] usb_serial_deregister+0x6c/0x78 [usbserial]
       [&lt;bf005330&gt;] usb_serial_deregister_drivers+0x2c/0x4c [usbserial]
       [&lt;bf016618&gt;] usb_serial_module_exit+0x14/0x1c [sierra]
       [&lt;c009d6cc&gt;] SyS_delete_module+0x184/0x210
       [&lt;c000f880&gt;] ret_fast_syscall+0x0/0x48

other info that might help us debug this:

 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(table_lock);
                               lock(s_active#4);
                               lock(table_lock);
  lock(s_active#4);

 *** DEADLOCK ***

1 lock held by modprobe/190:
 #0:  (table_lock){+.+.+.}, at: [&lt;bf004d84&gt;] usb_serial_deregister+0x3c/0x78 [usbserial]

stack backtrace:
CPU: 0 PID: 190 Comm: modprobe Tainted: G        W     3.15.0-rc2 #123
[&lt;c0015e10&gt;] (unwind_backtrace) from [&lt;c0013728&gt;] (show_stack+0x20/0x24)
[&lt;c0013728&gt;] (show_stack) from [&lt;c03a9a54&gt;] (dump_stack+0x24/0x28)
[&lt;c03a9a54&gt;] (dump_stack) from [&lt;c03a7cac&gt;] (print_circular_bug+0x2ec/0x2f8)
[&lt;c03a7cac&gt;] (print_circular_bug) from [&lt;c0076218&gt;] (__lock_acquire+0x1928/0x1ce4)
[&lt;c0076218&gt;] (__lock_acquire) from [&lt;c0076de8&gt;] (lock_acquire+0xb4/0x154)
[&lt;c0076de8&gt;] (lock_acquire) from [&lt;c0166b70&gt;] (__kernfs_remove+0x254/0x310)
[&lt;c0166b70&gt;] (__kernfs_remove) from [&lt;c0167aa0&gt;] (kernfs_remove_by_name_ns+0x4c/0x94)
[&lt;c0167aa0&gt;] (kernfs_remove_by_name_ns) from [&lt;c0169fb8&gt;] (remove_files.isra.1+0x48/0x84)
[&lt;c0169fb8&gt;] (remove_files.isra.1) from [&lt;c016a2fc&gt;] (sysfs_remove_group+0x58/0xac)
[&lt;c016a2fc&gt;] (sysfs_remove_group) from [&lt;c016a414&gt;] (sysfs_remove_groups+0x34/0x44)
[&lt;c016a414&gt;] (sysfs_remove_groups) from [&lt;c02623b8&gt;] (driver_remove_groups+0x1c/0x20)
[&lt;c02623b8&gt;] (driver_remove_groups) from [&lt;c0260e9c&gt;] (bus_remove_driver+0x3c/0xe4)
[&lt;c0260e9c&gt;] (bus_remove_driver) from [&lt;c026235c&gt;] (driver_unregister+0x38/0x58)
[&lt;c026235c&gt;] (driver_unregister) from [&lt;bf007fb4&gt;] (usb_serial_bus_deregister+0x84/0x88 [usbserial])
[&lt;bf007fb4&gt;] (usb_serial_bus_deregister [usbserial]) from [&lt;bf004db4&gt;] (usb_serial_deregister+0x6c/0x78 [usbserial])
[&lt;bf004db4&gt;] (usb_serial_deregister [usbserial]) from [&lt;bf005330&gt;] (usb_serial_deregister_drivers+0x2c/0x4c [usbserial])
[&lt;bf005330&gt;] (usb_serial_deregister_drivers [usbserial]) from [&lt;bf016618&gt;] (usb_serial_module_exit+0x14/0x1c [sierra])
[&lt;bf016618&gt;] (usb_serial_module_exit [sierra]) from [&lt;c009d6cc&gt;] (SyS_delete_module+0x184/0x210)
[&lt;c009d6cc&gt;] (SyS_delete_module) from [&lt;c000f880&gt;] (ret_fast_syscall+0x0/0x48)

Signed-off-by: Johan Hovold &lt;jhovold@gmail.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 10164c2ad6d2c16809f6c09e278f946e47801b3a upstream.

Fix driver new_id sysfs-attribute removal deadlock by making sure to
not hold any locks that the attribute operations grab when removing the
attribute.

Specifically, usb_serial_deregister holds the table mutex when
deregistering the driver, which includes removing the new_id attribute.
This can lead to a deadlock as writing to new_id increments the
attribute's active count before trying to grab the same mutex in
usb_serial_probe.

The deadlock can easily be triggered by inserting a sleep in
usb_serial_deregister and writing the id of an unbound device to new_id
during module unload.

As the table mutex (in this case) is used to prevent subdriver unload
during probe, it should be sufficient to only hold the lock while
manipulating the usb-serial driver list during deregister. A racing
probe will then either fail to find a matching subdriver or fail to get
the corresponding module reference.

Since v3.15-rc1 this also triggers the following lockdep warning:

======================================================
[ INFO: possible circular locking dependency detected ]
3.15.0-rc2 #123 Tainted: G        W
-------------------------------------------------------
modprobe/190 is trying to acquire lock:
 (s_active#4){++++.+}, at: [&lt;c0167aa0&gt;] kernfs_remove_by_name_ns+0x4c/0x94

but task is already holding lock:
 (table_lock){+.+.+.}, at: [&lt;bf004d84&gt;] usb_serial_deregister+0x3c/0x78 [usbserial]

which lock already depends on the new lock.

the existing dependency chain (in reverse order) is:

-&gt; #1 (table_lock){+.+.+.}:
       [&lt;c0075f84&gt;] __lock_acquire+0x1694/0x1ce4
       [&lt;c0076de8&gt;] lock_acquire+0xb4/0x154
       [&lt;c03af3cc&gt;] _raw_spin_lock+0x4c/0x5c
       [&lt;c02bbc24&gt;] usb_store_new_id+0x14c/0x1ac
       [&lt;bf007eb4&gt;] new_id_store+0x68/0x70 [usbserial]
       [&lt;c025f568&gt;] drv_attr_store+0x30/0x3c
       [&lt;c01690e0&gt;] sysfs_kf_write+0x5c/0x60
       [&lt;c01682c0&gt;] kernfs_fop_write+0xd4/0x194
       [&lt;c010881c&gt;] vfs_write+0xbc/0x198
       [&lt;c0108e4c&gt;] SyS_write+0x4c/0xa0
       [&lt;c000f880&gt;] ret_fast_syscall+0x0/0x48

-&gt; #0 (s_active#4){++++.+}:
       [&lt;c03a7a28&gt;] print_circular_bug+0x68/0x2f8
       [&lt;c0076218&gt;] __lock_acquire+0x1928/0x1ce4
       [&lt;c0076de8&gt;] lock_acquire+0xb4/0x154
       [&lt;c0166b70&gt;] __kernfs_remove+0x254/0x310
       [&lt;c0167aa0&gt;] kernfs_remove_by_name_ns+0x4c/0x94
       [&lt;c0169fb8&gt;] remove_files.isra.1+0x48/0x84
       [&lt;c016a2fc&gt;] sysfs_remove_group+0x58/0xac
       [&lt;c016a414&gt;] sysfs_remove_groups+0x34/0x44
       [&lt;c02623b8&gt;] driver_remove_groups+0x1c/0x20
       [&lt;c0260e9c&gt;] bus_remove_driver+0x3c/0xe4
       [&lt;c026235c&gt;] driver_unregister+0x38/0x58
       [&lt;bf007fb4&gt;] usb_serial_bus_deregister+0x84/0x88 [usbserial]
       [&lt;bf004db4&gt;] usb_serial_deregister+0x6c/0x78 [usbserial]
       [&lt;bf005330&gt;] usb_serial_deregister_drivers+0x2c/0x4c [usbserial]
       [&lt;bf016618&gt;] usb_serial_module_exit+0x14/0x1c [sierra]
       [&lt;c009d6cc&gt;] SyS_delete_module+0x184/0x210
       [&lt;c000f880&gt;] ret_fast_syscall+0x0/0x48

other info that might help us debug this:

 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(table_lock);
                               lock(s_active#4);
                               lock(table_lock);
  lock(s_active#4);

 *** DEADLOCK ***

1 lock held by modprobe/190:
 #0:  (table_lock){+.+.+.}, at: [&lt;bf004d84&gt;] usb_serial_deregister+0x3c/0x78 [usbserial]

stack backtrace:
CPU: 0 PID: 190 Comm: modprobe Tainted: G        W     3.15.0-rc2 #123
[&lt;c0015e10&gt;] (unwind_backtrace) from [&lt;c0013728&gt;] (show_stack+0x20/0x24)
[&lt;c0013728&gt;] (show_stack) from [&lt;c03a9a54&gt;] (dump_stack+0x24/0x28)
[&lt;c03a9a54&gt;] (dump_stack) from [&lt;c03a7cac&gt;] (print_circular_bug+0x2ec/0x2f8)
[&lt;c03a7cac&gt;] (print_circular_bug) from [&lt;c0076218&gt;] (__lock_acquire+0x1928/0x1ce4)
[&lt;c0076218&gt;] (__lock_acquire) from [&lt;c0076de8&gt;] (lock_acquire+0xb4/0x154)
[&lt;c0076de8&gt;] (lock_acquire) from [&lt;c0166b70&gt;] (__kernfs_remove+0x254/0x310)
[&lt;c0166b70&gt;] (__kernfs_remove) from [&lt;c0167aa0&gt;] (kernfs_remove_by_name_ns+0x4c/0x94)
[&lt;c0167aa0&gt;] (kernfs_remove_by_name_ns) from [&lt;c0169fb8&gt;] (remove_files.isra.1+0x48/0x84)
[&lt;c0169fb8&gt;] (remove_files.isra.1) from [&lt;c016a2fc&gt;] (sysfs_remove_group+0x58/0xac)
[&lt;c016a2fc&gt;] (sysfs_remove_group) from [&lt;c016a414&gt;] (sysfs_remove_groups+0x34/0x44)
[&lt;c016a414&gt;] (sysfs_remove_groups) from [&lt;c02623b8&gt;] (driver_remove_groups+0x1c/0x20)
[&lt;c02623b8&gt;] (driver_remove_groups) from [&lt;c0260e9c&gt;] (bus_remove_driver+0x3c/0xe4)
[&lt;c0260e9c&gt;] (bus_remove_driver) from [&lt;c026235c&gt;] (driver_unregister+0x38/0x58)
[&lt;c026235c&gt;] (driver_unregister) from [&lt;bf007fb4&gt;] (usb_serial_bus_deregister+0x84/0x88 [usbserial])
[&lt;bf007fb4&gt;] (usb_serial_bus_deregister [usbserial]) from [&lt;bf004db4&gt;] (usb_serial_deregister+0x6c/0x78 [usbserial])
[&lt;bf004db4&gt;] (usb_serial_deregister [usbserial]) from [&lt;bf005330&gt;] (usb_serial_deregister_drivers+0x2c/0x4c [usbserial])
[&lt;bf005330&gt;] (usb_serial_deregister_drivers [usbserial]) from [&lt;bf016618&gt;] (usb_serial_module_exit+0x14/0x1c [sierra])
[&lt;bf016618&gt;] (usb_serial_module_exit [sierra]) from [&lt;c009d6cc&gt;] (SyS_delete_module+0x184/0x210)
[&lt;c009d6cc&gt;] (SyS_delete_module) from [&lt;c000f880&gt;] (ret_fast_syscall+0x0/0x48)

Signed-off-by: Johan Hovold &lt;jhovold@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "USB: serial: add usbid for dell wwan card to sierra.c"</title>
<updated>2014-05-31T04:52:13+00:00</updated>
<author>
<name>Johan Hovold</name>
<email>jhovold@gmail.com</email>
</author>
<published>2014-03-28T17:05:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4b2ac05d9b30b3a1fdb03d64400a98fac4ec8980'/>
<id>4b2ac05d9b30b3a1fdb03d64400a98fac4ec8980</id>
<content type='text'>
commit 2e01280d2801c72878cf3a7119eac30077b463d5 upstream.

This reverts commit 1ebca9dad5abe8b2ed4dbd186cd657fb47c1f321.

This device was erroneously added to the sierra driver even though it's
not a Sierra device and was already handled by the option driver.

Cc: Richard Farina &lt;sidhayn@gmail.com&gt;
Signed-off-by: Johan Hovold &lt;jhovold@gmail.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 2e01280d2801c72878cf3a7119eac30077b463d5 upstream.

This reverts commit 1ebca9dad5abe8b2ed4dbd186cd657fb47c1f321.

This device was erroneously added to the sierra driver even though it's
not a Sierra device and was already handled by the option driver.

Cc: Richard Farina &lt;sidhayn@gmail.com&gt;
Signed-off-by: Johan Hovold &lt;jhovold@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>usb: option driver, add support for Telit UE910v2</title>
<updated>2014-05-31T04:52:13+00:00</updated>
<author>
<name>Daniele Palmas</name>
<email>dnlplm@gmail.com</email>
</author>
<published>2014-04-02T09:19:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=fa028c45b4433f8786dd24c8a6cd2b3aff22ac41'/>
<id>fa028c45b4433f8786dd24c8a6cd2b3aff22ac41</id>
<content type='text'>
commit d6de486bc22255779bd54b0fceb4c240962bf146 upstream.

option driver, added VID/PID for Telit UE910v2 modem

Signed-off-by: Daniele Palmas &lt;dnlplm@gmail.com&gt;
Signed-off-by: Johan Hovold &lt;jhovold@gmail.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 d6de486bc22255779bd54b0fceb4c240962bf146 upstream.

option driver, added VID/PID for Telit UE910v2 modem

Signed-off-by: Daniele Palmas &lt;dnlplm@gmail.com&gt;
Signed-off-by: Johan Hovold &lt;jhovold@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

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