<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/net/usb, branch v3.5</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.5</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v3.5'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2012-07-09T07:18:04Z</updated>
<entry>
<title>net: qmi_wwan: add ZTE MF60</title>
<updated>2012-07-09T07:18:04Z</updated>
<author>
<name>Bjørn Mork</name>
<email>bjorn@mork.no</email>
</author>
<published>2012-07-05T01:13:33Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=6fecd35d4cd79fc75e8290abb86734c18500d2a2'/>
<id>urn:sha1:6fecd35d4cd79fc75e8290abb86734c18500d2a2</id>
<content type='text'>
Adding a device with limited QMI support. It does not support
normal QMI_WDS commands for connection management. Instead,
sending a QMI_CTL SET_INSTANCE_ID command is required to
enable the network interface:

  01 0f 00 00 00 00 00 00  20 00 04 00 01 01 00 00

A number of QMI_DMS and QMI_NAS commands are also supported
for optional device management.

Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: qmi_wwan: fix Oops while disconnecting</title>
<updated>2012-06-28T23:53:28Z</updated>
<author>
<name>Bjørn Mork</name>
<email>bjorn@mork.no</email>
</author>
<published>2012-06-21T23:11:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d9b8706843a501034d09bea63ca6723a2ed02b11'/>
<id>urn:sha1:d9b8706843a501034d09bea63ca6723a2ed02b11</id>
<content type='text'>
usbnet_disconnect() will set intfdata to NULL before calling
the minidriver unbind function.  The cdc_wdm subdriver cannot
know that it is disconnecting until the qmi_wwan unbind
function has called its disconnect function.  This means that
we must be able to support the cdc_wdm subdriver operating
normally while usbnet_disconnect() is running, and in
particular that intfdata may be NULL.

The only place this matters is in qmi_wwan_cdc_wdm_manage_power
which is called from cdc_wdm.  Simply testing for NULL
intfdata there is sufficient to allow it to continue working
at all times.

Fixes this Oops where a cdc-wdm device was closed while the
USB device was disconnecting, causing wdm_release to call
qmi_wwan_cdc_wdm_manage_power after intfdata was set to
NULL by usbnet_disconnect:

[41819.087460] BUG: unable to handle kernel NULL pointer dereference at 00000080
[41819.087815] IP: [&lt;f8640458&gt;] qmi_wwan_manage_power+0x68/0x90 [qmi_wwan]
[41819.088028] *pdpt = 000000000314f001 *pde = 0000000000000000
[41819.088028] Oops: 0002 [#1] SMP
[41819.088028] Modules linked in: qmi_wwan option usb_wwan usbserial usbnet
cdc_wdm nls_iso8859_1 nls_cp437 vfat fat usb_storage bnep rfcomm bluetooth
parport_pc ppdev binfmt_misc iptable_nat nf_nat nf_conntrack_ipv4
nf_conntrack nf_defrag_ipv4 iptable_mangle iptable_filter ip_tables
x_tables dm_crypt uvcvideo snd_hda_codec_realtek snd_hda_intel
videobuf2_core snd_hda_codec joydev videodev videobuf2_vmalloc
hid_multitouch snd_hwdep arc4 videobuf2_memops snd_pcm snd_seq_midi
snd_rawmidi snd_seq_midi_event ath9k mac80211 snd_seq ath9k_common ath9k_hw
ath snd_timer snd_seq_device sparse_keymap dm_multipath scsi_dh coretemp
mac_hid snd soundcore cfg80211 snd_page_alloc psmouse serio_raw microcode
lp parport dm_mirror dm_region_hash dm_log usbhid hid i915 drm_kms_helper
drm r8169 i2c_algo_bit wmi video [last unloaded: qmi_wwan]
[41819.088028]
[41819.088028] Pid: 23292, comm: qmicli Not tainted 3.4.0-5-generic #11-Ubuntu GIGABYTE T1005/T1005
[41819.088028] EIP: 0060:[&lt;f8640458&gt;] EFLAGS: 00010246 CPU: 1
[41819.088028] EIP is at qmi_wwan_manage_power+0x68/0x90 [qmi_wwan]
[41819.088028] EAX: 00000000 EBX: 00000000 ECX: 000000c3 EDX: 00000000
[41819.088028] ESI: c3b27658 EDI: 00000000 EBP: c298bea4 ESP: c298be98
[41819.088028]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
[41819.088028] CR0: 8005003b CR2: 00000080 CR3: 3605e000 CR4: 000007f0
[41819.088028] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
[41819.088028] DR6: ffff0ff0 DR7: 00000400
[41819.088028] Process qmicli (pid: 23292, ti=c298a000 task=f343b280 task.ti=c298a000)
[41819.088028] Stack:
[41819.088028]  00000000 c3b27658 e2a80d00 c298beb0 f864051a c3b27600 c298bec0 f9027099
[41819.088028]  c2fd6000 00000008 c298bef0 c1147f96 00000001 00000000 00000000 f4e54790
[41819.088028]  ecf43a00 ecf43a00 c2fd6008 c2fd6000 ebbd7600 ffffffb9 c298bf08 c1144474
[41819.088028] Call Trace:
[41819.088028]  [&lt;f864051a&gt;] qmi_wwan_cdc_wdm_manage_power+0x1a/0x20 [qmi_wwan]
[41819.088028]  [&lt;f9027099&gt;] wdm_release+0x69/0x70 [cdc_wdm]
[41819.088028]  [&lt;c1147f96&gt;] fput+0xe6/0x210
[41819.088028]  [&lt;c1144474&gt;] filp_close+0x54/0x80
[41819.088028]  [&lt;c1046a65&gt;] put_files_struct+0x75/0xc0
[41819.088028]  [&lt;c1046b56&gt;] exit_files+0x46/0x60
[41819.088028]  [&lt;c1046f81&gt;] do_exit+0x141/0x780
[41819.088028]  [&lt;c107248f&gt;] ? wake_up_state+0xf/0x20
[41819.088028]  [&lt;c1053f48&gt;] ? signal_wake_up+0x28/0x40
[41819.088028]  [&lt;c1054f3b&gt;] ? zap_other_threads+0x6b/0x80
[41819.088028]  [&lt;c1047864&gt;] do_group_exit+0x34/0xa0
[41819.088028]  [&lt;c10478e8&gt;] sys_exit_group+0x18/0x20
[41819.088028]  [&lt;c15bb7df&gt;] sysenter_do_call+0x12/0x28
[41819.088028] Code: 04 83 e7 01 c1 e7 03 0f b6 42 18 83 e0 f7 09 f8 88 42
18 8b 43 04 e8 48 9a dd c8 89 f0 8b 5d f4 8b 75 f8 8b 7d fc 89 ec 5d c3 90
&lt;f0&gt; ff 88 80 00 00 00 0f 94 c0 84 c0 75 b7 31 f6 8b 5d f4 89 f0
[41819.088028] EIP: [&lt;f8640458&gt;] qmi_wwan_manage_power+0x68/0x90 [qmi_wwan] SS:ESP 0068:c298be98
[41819.088028] CR2: 0000000000000080
[41819.149492] ---[ end trace 0944479ff8257f55 ]---

Reported-by: Marius Bjørnstad Kotsbak &lt;marius.kotsbak@gmail.com&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v3.4
Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipheth: add support for iPad</title>
<updated>2012-06-25T23:20:41Z</updated>
<author>
<name>Davide Gerhard</name>
<email>rainbow@irh.it</email>
</author>
<published>2012-06-25T07:04:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=6de0298ec9c1edaf330b71b57346241ece8f3346'/>
<id>urn:sha1:6de0298ec9c1edaf330b71b57346241ece8f3346</id>
<content type='text'>
This adds support for the iPad to the ipheth driver.
(product id = 0x129a)

Signed-off-by: Davide Gerhard &lt;rainbow@irh.it&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>usbnet: handle remote wakeup asap</title>
<updated>2012-06-23T00:34:18Z</updated>
<author>
<name>Ming Lei</name>
<email>ming.lei@canonical.com</email>
</author>
<published>2012-06-19T21:15:53Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=65841fd5132c3941cdf5df09e70df3ed28323212'/>
<id>urn:sha1:65841fd5132c3941cdf5df09e70df3ed28323212</id>
<content type='text'>
If usbnet is resumed by remote wakeup, generally there are
some packets comming to be handled, so allocate and submit
rx URBs in usbnet_resume to avoid delays introduced by tasklet.
Otherwise, usbnet may have been runtime suspended before the
usbnet_bh is executed to schedule Rx URBs.

Without the patch, usbnet can't recieve any packets from peer
in runtime suspend state if runtime PM is enabled and
autosuspend_delay is set as zero.

Signed-off-by: Ming Lei &lt;ming.lei@canonical.com&gt;
Acked-by: Oliver Neukum &lt;oneukum@suse.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>usbnet: decrease suspend count if returning -EBUSY for runtime suspend</title>
<updated>2012-06-23T00:34:17Z</updated>
<author>
<name>Ming Lei</name>
<email>ming.lei@canonical.com</email>
</author>
<published>2012-06-19T21:15:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=5eeb3132eb4c5e9ca92e5247fe4575fe9f8c3efe'/>
<id>urn:sha1:5eeb3132eb4c5e9ca92e5247fe4575fe9f8c3efe</id>
<content type='text'>
This patch decreases dev-&gt;suspend_count in the -EBUSY failure path
of usbnet_suspend. Without the change, the later runtime suspend
will do nothing except for increasing dev-&gt;suspend_count.

Signed-off-by: Ming Lei &lt;ming.lei@canonical.com&gt;
Acked-by: Oliver Neukum &lt;oneukum@suse.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>usbnet: clear OPEN flag in failure path</title>
<updated>2012-06-23T00:34:17Z</updated>
<author>
<name>Ming Lei</name>
<email>ming.lei@canonical.com</email>
</author>
<published>2012-06-19T21:15:51Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=fb13c47b8e5ce707268bd38cfd082da377eac4b7'/>
<id>urn:sha1:fb13c47b8e5ce707268bd38cfd082da377eac4b7</id>
<content type='text'>
Without clearing OPEN flag in failure path, runtime or system resume
may submit interrupt/rx URB and start tx queue mistakenly on a
interface in DOWN state.

Signed-off-by: Ming Lei &lt;ming.lei@canonical.com&gt;
Acked-by: Oliver Neukum &lt;oneukum@suse.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: qmi_wwan: fix Gobi device probing</title>
<updated>2012-06-23T00:17:02Z</updated>
<author>
<name>Bjørn Mork</name>
<email>bjorn@mork.no</email>
</author>
<published>2012-06-21T02:45:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=b9f90eb2740203ff2592efe640409ad48335d1c2'/>
<id>urn:sha1:b9f90eb2740203ff2592efe640409ad48335d1c2</id>
<content type='text'>
Ignoring interfaces with additional descriptors is not a reliable
method for locating the correct interface on Gobi devices.  There
is at least one device where this method fails:
https://bbs.archlinux.org/viewtopic.php?id=143506

The result is that the AT command port (interface #2) is hidden
from qcserial, preventing traditional serial modem usage:

[   15.562552] qmi_wwan 4-1.6:1.0: cdc-wdm0: USB WDM device
[   15.562691] qmi_wwan 4-1.6:1.0: wwan0: register 'qmi_wwan' at usb-0000:00:1d.0-1.6, Qualcomm Gobi wwan/QMI device, 1e:df:3c:3a:4e:3b
[   15.563383] qmi_wwan: probe of 4-1.6:1.1 failed with error -22
[   15.564189] qmi_wwan 4-1.6:1.2: cdc-wdm1: USB WDM device
[   15.564302] qmi_wwan 4-1.6:1.2: wwan1: register 'qmi_wwan' at usb-0000:00:1d.0-1.6, Qualcomm Gobi wwan/QMI device, 1e:df:3c:3a:4e:3b
[   15.564328] qmi_wwan: probe of 4-1.6:1.3 failed with error -22
[   15.569376] qcserial 4-1.6:1.1: Qualcomm USB modem converter detected
[   15.569440] usb 4-1.6: Qualcomm USB modem converter now attached to ttyUSB0
[   15.570372] qcserial 4-1.6:1.3: Qualcomm USB modem converter detected
[   15.570430] usb 4-1.6: Qualcomm USB modem converter now attached to ttyUSB1

Use static interface numbers taken from the interface map in
qcserial for all Gobi devices instead:

	Gobi 1K USB layout:
	0: serial port (doesn't respond)
	1: serial port (doesn't respond)
	2: AT-capable modem port
	3: QMI/net

	Gobi 2K+ USB layout:
	0: QMI/net
	1: DM/DIAG (use libqcdm from ModemManager for communication)
	2: AT-capable modem port
	3: NMEA

This should be more reliable over all, and will also prevent the
noisy "probe failed" messages.  The whitelisting logic is expected
to be replaced by direct interface number matching in 3.6.

Reported-by: Heinrich Siebmanns (Harvey) &lt;H.Siebmanns@t-online.de&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v3.4: 0000188 USB: qmi_wwan: Make forced int 4 whitelist generic
Cc: &lt;stable@vger.kernel.org&gt; # v3.4: f7142e6 USB: qmi_wwan: Add ZTE (Vodafone) K3520-Z
Cc: &lt;stable@vger.kernel.org&gt; # v3.4
Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>usbnet: sanitise overlong driver information strings</title>
<updated>2012-06-17T23:20:31Z</updated>
<author>
<name>Phil Sutter</name>
<email>phil.sutter@viprinet.com</email>
</author>
<published>2012-06-14T01:18:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=86a2f415e6cdc5dbb2163b31abf4d36f26f7e3da'/>
<id>urn:sha1:86a2f415e6cdc5dbb2163b31abf4d36f26f7e3da</id>
<content type='text'>
As seen on smsc75xx, driver_info-&gt;description being longer than 32
characters messes up 'ethtool -i' output.

Signed-off-by: Phil Sutter &lt;phil.sutter@viprinet.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: sierra_net: device IDs for Aircard 320U++</title>
<updated>2012-06-06T17:40:32Z</updated>
<author>
<name>Bjørn Mork</name>
<email>bjorn@mork.no</email>
</author>
<published>2012-06-05T21:18:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=dd03cff23d694cfb0fdae80cb618e7ced05ea696'/>
<id>urn:sha1:dd03cff23d694cfb0fdae80cb618e7ced05ea696</id>
<content type='text'>
Adding device IDs for Aircard 320U and two other devices
found in the out-of-tree version of this driver.

Cc: linux@sierrawireless.com
Cc: Autif Khan &lt;autif.mlist@gmail.com&gt;
Cc: Tom Cassidy &lt;tomas.cassidy@gmail.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Acked-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>mcs7830: Implement link state detection</title>
<updated>2012-06-02T21:09:08Z</updated>
<author>
<name>Ondrej Zary</name>
<email>linux@rainbow-software.org</email>
</author>
<published>2012-06-01T10:29:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=b1ff4f96fd1c63890d78d8939c6e0f2b44ce3113'/>
<id>urn:sha1:b1ff4f96fd1c63890d78d8939c6e0f2b44ce3113</id>
<content type='text'>
Add .status callback that detects link state changes.
Tested with MCS7832CV-AA chip (9710:7830, identified as rev.C by the driver).
Fixes https://bugzilla.kernel.org/show_bug.cgi?id=28532

Signed-off-by: Ondrej Zary &lt;linux@rainbow-software.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
