<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/net/usb/usbnet.c, branch linux-3.6.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.6.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.6.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-11-17T21:18:52Z</updated>
<entry>
<title>net: usb: Fix memory leak on Tx data path</title>
<updated>2012-11-17T21:18:52Z</updated>
<author>
<name>Hemant Kumar</name>
</author>
<published>2012-10-25T18:17:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ed6f958d9875c2198c247ee568a9a9e9741a64ee'/>
<id>urn:sha1:ed6f958d9875c2198c247ee568a9a9e9741a64ee</id>
<content type='text'>
[ Upstream commit 39707c2a3ba5011038b363f84d37c8a98d2d9db1 ]

Driver anchors the tx urbs and defers the urb submission if
a transmit request comes when the interface is suspended.
Anchoring urb increments the urb reference count. These
deferred urbs are later accessed by calling usb_get_from_anchor()
for submission during interface resume. usb_get_from_anchor()
unanchors the urb but urb reference count remains same.
This causes the urb reference count to remain non-zero
after usb_free_urb() gets called and urb never gets freed.
Hence call usb_put_urb() after anchoring the urb to properly
balance the reference count for these deferred urbs. Also,
unanchor these deferred urbs during disconnect, to free them
up.

Signed-off-by: Hemant Kumar &lt;hemantk@codeaurora.org&gt;
Acked-by: Oliver Neukum &lt;oneukum@suse.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>net: usbnet: fix softirq storm on suspend</title>
<updated>2012-09-03T17:49:00Z</updated>
<author>
<name>Bjørn Mork</name>
</author>
<published>2012-09-02T22:26:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=85e87870fa18ec9f5df98e2d3b48f3699560a570'/>
<id>urn:sha1:85e87870fa18ec9f5df98e2d3b48f3699560a570</id>
<content type='text'>
Suspending an open usbnet device results in constant
rescheduling of usbnet_bh.

commit 65841fd5 "usbnet: handle remote wakeup asap"
refactored the usbnet_bh code to allow sharing the
urb allocate and submit code with usbnet_resume. In
this process, a test for, and immediate return on,
ENOLINK from rx_submit was unintentionally dropped.

The rx queue will not grow if rx_submit fails,
making usbnet_bh reschedule itself.  This results
in a softirq storm if the error is persistent.
rx_submit translates the usb_submit_urb error
EHOSTUNREACH into ENOLINK, so this is an expected
and persistent error for a suspended device. The
old code tested for this condition and avoided
rescheduling.  Putting this test back.

Cc: &lt;stable@vger.kernel.org&gt; # v3.5
Cc: Ming Lei &lt;ming.lei@canonical.com&gt;
Cc: Oliver Neukum &lt;oneukum@suse.de&gt;
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: fix deadlock in resume</title>
<updated>2012-08-31T20:12:21Z</updated>
<author>
<name>Oliver Neukum</name>
</author>
<published>2012-08-26T20:41:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ab6f148de28261682d300662e87b9477f7efc95b'/>
<id>urn:sha1:ab6f148de28261682d300662e87b9477f7efc95b</id>
<content type='text'>
A usbnet device can share a multifunction device
with a storage device. If the storage device is autoresumed
the usbnet devices also needs to be autoresumed. Allocating
memory with GFP_KERNEL can deadlock in this case.

This should go back into all kernels that have
commit 65841fd5132c3941cdf5df09e70df3ed28323212
That is 3.5

Signed-off-by: Oliver Neukum &lt;oneukum@suse.de&gt;
CC: stable@kernel.org
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: usb: Use eth_random_addr</title>
<updated>2012-07-17T05:38:28Z</updated>
<author>
<name>Joe Perches</name>
</author>
<published>2012-07-12T19:33:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c7e12ead5f92413234b3d9f4f35ae56734decd21'/>
<id>urn:sha1:c7e12ead5f92413234b3d9f4f35ae56734decd21</id>
<content type='text'>
Convert the existing uses of random_ether_addr to
the new eth_random_addr.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2012-06-25T22:50:32Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2012-06-25T22:50:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e486463e82e4dca9e8f4413649088b21c9ff87e5'/>
<id>urn:sha1:e486463e82e4dca9e8f4413649088b21c9ff87e5</id>
<content type='text'>
Conflicts:
	drivers/net/usb/qmi_wwan.c
	net/batman-adv/translation-table.c
	net/ipv6/route.c

qmi_wwan.c resolution provided by Bjørn Mork.

batman-adv conflict is dealing merely with the changes
of global function names to have a proper subsystem
prefix.

ipv6's route.c conflict is merely two side-by-side additions
of network namespace methods.

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>
</author>
<published>2012-06-19T21:15:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/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>
</author>
<published>2012-06-19T21:15:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/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>
</author>
<published>2012-06-19T21:15:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/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>usbnet: sanitise overlong driver information strings</title>
<updated>2012-06-17T23:20:31Z</updated>
<author>
<name>Phil Sutter</name>
</author>
<published>2012-06-14T01:18:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/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>usbnet: don't initialize transfer buffer before submit status URB</title>
<updated>2012-06-13T01:51:08Z</updated>
<author>
<name>tom.leiming@gmail.com</name>
</author>
<published>2012-06-11T15:19:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=072c0559e26bc35700b3a70dffc230f00d9262b8'/>
<id>urn:sha1:072c0559e26bc35700b3a70dffc230f00d9262b8</id>
<content type='text'>
The line below in intr_complete isn't needed,

	memset(urb-&gt;transfer_buffer, 0, urb-&gt;transfer_buffer_length);

so just remove it.

Signed-off-by: Ming Lei &lt;tom.leiming@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
