<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/net/ethernet/realtek, branch linux-4.3.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.3.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.3.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2015-12-15T05:40:55Z</updated>
<entry>
<title>r8169: fix kasan reported skb use-after-free.</title>
<updated>2015-12-15T05:40:55Z</updated>
<author>
<name>françois romieu</name>
<email>romieu@fr.zoreil.com</email>
</author>
<published>2015-11-11T22:35:18Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=808e146b0ae32eb615e048c3b87016fcad3dd500'/>
<id>urn:sha1:808e146b0ae32eb615e048c3b87016fcad3dd500</id>
<content type='text'>
[ Upstream commit 39174291d8e8acfd1113214a943263aaa03c57c8 ]

Signed-off-by: Francois Romieu &lt;romieu@fr.zoreil.com&gt;
Reported-by: Dave Jones &lt;davej@codemonkey.org.uk&gt;
Fixes: d7d2d89d4b0af ("r8169: Add software counter for multicast packages")
Acked-by: Eric Dumazet &lt;edumazet@google.com&gt;
Acked-by: Corinna Vinschen &lt;vinschen@redhat.com&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>r8169: fix handling rtl_readphy result</title>
<updated>2015-09-27T05:48:32Z</updated>
<author>
<name>Andrzej Hajda</name>
<email>a.hajda@samsung.com</email>
</author>
<published>2015-09-24T14:00:24Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=72521ea07c0af37b8cb21228368128191c3f1a58'/>
<id>urn:sha1:72521ea07c0af37b8cb21228368128191c3f1a58</id>
<content type='text'>
The function can return negative value.

The problem has been detected using proposed semantic patch
scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1].

[1]: http://permalink.gmane.org/gmane.linux.kernel/2046107

Signed-off-by: Andrzej Hajda &lt;a.hajda@samsung.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>8139cp: Dump contents of descriptor ring on TX timeout</title>
<updated>2015-09-23T21:47:13Z</updated>
<author>
<name>David Woodhouse</name>
<email>David.Woodhouse@intel.com</email>
</author>
<published>2015-09-23T08:45:31Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=41b976414c88016e2c9d9b2f6667ee67a998d388'/>
<id>urn:sha1:41b976414c88016e2c9d9b2f6667ee67a998d388</id>
<content type='text'>
We are seeing unexplained TX timeouts under heavy load. Let's try to get
a better idea of what's going on.

Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>8139cp: Fix DMA unmapping of transmitted buffers</title>
<updated>2015-09-23T21:47:13Z</updated>
<author>
<name>David Woodhouse</name>
<email>David.Woodhouse@intel.com</email>
</author>
<published>2015-09-23T08:45:16Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=7f4c685633e2df9ba10d49a31dda13715745db37'/>
<id>urn:sha1:7f4c685633e2df9ba10d49a31dda13715745db37</id>
<content type='text'>
The low 16 bits of the 'opts1' field in the TX descriptor are supposed
to still contain the buffer length when the descriptor is handed back to
us. In practice, at least on my hardware, they don't. So stash the
original value of the opts1 field and get the length to unmap from
there.

There are other ways we could have worked out the length, but I actually
want a stash of the opts1 field anyway so that I can dump it alongside
the contents of the descriptor ring when we suffer a TX timeout.

Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>8139cp: Reduce duplicate csum/tso code in cp_start_xmit()</title>
<updated>2015-09-23T21:47:12Z</updated>
<author>
<name>David Woodhouse</name>
<email>David.Woodhouse@intel.com</email>
</author>
<published>2015-09-23T08:44:57Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=0a5aeee0b79fa99d8e04c98dd4e87d4f52aa497b'/>
<id>urn:sha1:0a5aeee0b79fa99d8e04c98dd4e87d4f52aa497b</id>
<content type='text'>
We calculate the value of the opts1 descriptor field in three different
places. With two different behaviours when given an invalid packet to
be checksummed — none of them correct. Sort that out.

Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>8139cp: Fix TSO/scatter-gather descriptor setup</title>
<updated>2015-09-23T21:47:12Z</updated>
<author>
<name>David Woodhouse</name>
<email>David.Woodhouse@intel.com</email>
</author>
<published>2015-09-23T08:44:38Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a3b804043f490aeec57d8ca5baccdd35e6250857'/>
<id>urn:sha1:a3b804043f490aeec57d8ca5baccdd35e6250857</id>
<content type='text'>
When sending a TSO frame in multiple buffers, we were neglecting to set
the first descriptor up in TSO mode.

Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>8139cp: Fix tx_queued debug message to print correct slot numbers</title>
<updated>2015-09-23T21:47:12Z</updated>
<author>
<name>David Woodhouse</name>
<email>David.Woodhouse@intel.com</email>
</author>
<published>2015-09-23T08:44:06Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=26b0bad6ac3a0167792dc4ffb276c29bc597d239'/>
<id>urn:sha1:26b0bad6ac3a0167792dc4ffb276c29bc597d239</id>
<content type='text'>
After a certain amount of staring at the debug output of this driver, I
realised it was lying to me.

Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>8139cp: Do not re-enable RX interrupts in cp_tx_timeout()</title>
<updated>2015-09-23T21:47:12Z</updated>
<author>
<name>David Woodhouse</name>
<email>David.Woodhouse@intel.com</email>
</author>
<published>2015-09-23T08:43:41Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=aaa0062ecf4877a26dea66bee1039c6eaf906c94'/>
<id>urn:sha1:aaa0062ecf4877a26dea66bee1039c6eaf906c94</id>
<content type='text'>
If an RX interrupt was already received but NAPI has not yet run when
the RX timeout happens, we end up in cp_tx_timeout() with RX interrupts
already disabled. Blindly re-enabling them will cause an IRQ storm.

(This is made particularly horrid by the fact that cp_interrupt() always
returns that it's handled the interrupt, even when it hasn't actually
done anything. If it didn't do that, the core IRQ code would have
detected the storm and handled it, I'd have had a clear smoking gun
backtrace instead of just a spontaneously resetting router, and I'd have
at *least* two days of my life back. Changing the return value of
cp_interrupt() will be argued about under separate cover.)

Unconditionally leave RX interrupts disabled after the reset, and
schedule NAPI to check the receive ring and re-enable them.

Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>8139cp: Call __cp_set_rx_mode() from cp_tx_timeout()</title>
<updated>2015-09-21T05:23:40Z</updated>
<author>
<name>David Woodhouse</name>
<email>dwmw2@infradead.org</email>
</author>
<published>2015-09-17T23:21:54Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=7a8a8e75d505147358b225173e890ada43a267e2'/>
<id>urn:sha1:7a8a8e75d505147358b225173e890ada43a267e2</id>
<content type='text'>
Unless we reset the RX config, on real hardware I don't seem to receive
any packets after a TX timeout.

Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>8139cp: Use dev_kfree_skb_any() instead of dev_kfree_skb() in cp_clean_rings()</title>
<updated>2015-09-21T05:23:40Z</updated>
<author>
<name>David Woodhouse</name>
<email>dwmw2@infradead.org</email>
</author>
<published>2015-09-17T23:19:08Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=fc27bd115b334e3ebdc682a42a47c3aea2566dcc'/>
<id>urn:sha1:fc27bd115b334e3ebdc682a42a47c3aea2566dcc</id>
<content type='text'>
This can be called from cp_tx_timeout() with interrupts disabled.
Spotted by Francois Romieu &lt;romieu@fr.zoreil.com&gt;

Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
