<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/net/ethernet/broadcom, branch linux-3.17.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.17.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.17.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2014-12-16T17:37:09Z</updated>
<entry>
<title>tg3: fix ring init when there are more TX than RX channels</title>
<updated>2014-12-16T17:37:09Z</updated>
<author>
<name>Thadeu Lima de Souza Cascardo</name>
</author>
<published>2014-11-25T16:21:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=600ce1de64e617a14055d1848afcfc9719d070ed'/>
<id>urn:sha1:600ce1de64e617a14055d1848afcfc9719d070ed</id>
<content type='text'>
[ Upstream commit a620a6bc1c94c22d6c312892be1e0ae171523125 ]

If TX channels are set to 4 and RX channels are set to less than 4,
using ethtool -L, the driver will try to initialize more RX channels
than it has allocated, causing an oops.

This fix only initializes the RX ring if it has been allocated.

Signed-off-by: Thadeu Lima de Souza Cascardo &lt;cascardo@linux.vnet.ibm.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>net: systemport: reset UniMAC coming out of a suspend cycle</title>
<updated>2014-11-21T17:23:14Z</updated>
<author>
<name>Florian Fainelli</name>
</author>
<published>2014-10-28T18:12:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fc2a6cea644e916a05f12bd324f8b2cacb0cd878'/>
<id>urn:sha1:fc2a6cea644e916a05f12bd324f8b2cacb0cd878</id>
<content type='text'>
commit 704d33e7006f20f9b4fa7d24a0f08c4b5919b131 upstream.

bcm_sysport_resume() was missing an UniMAC reset which can lead to
various receive FIFO corruptions coming out of a suspend cycle. If the
RX FIFO is stuck, it will deliver corrupted/duplicate packets towards
the host CPU interface.

This could be reproduced on crowded network and when Wake-on-LAN is
enabled for this particular interface because the switch still forwards
packets towards the host CPU interface (SYSTEMPORT), and we had to leave
the UniMAC RX enable bit on to allow matching MagicPackets.

Once we re-enter the resume function, there is a small window during
which the UniMAC receive is still enabled, and we start queueing
packets, but the RDMA and RBUF engines are not ready, which leads to
having packets stuck in the UniMAC RX FIFO, ultimately delivered towards
the host CPU as corrupted.

Fixes: 40755a0fce17 ("net: systemport: add suspend and resume support")
Signed-off-by: Florian Fainelli &lt;f.fainelli@gmail.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>net: systemport: enable RX interrupts after NAPI</title>
<updated>2014-11-21T17:23:14Z</updated>
<author>
<name>Florian Fainelli</name>
</author>
<published>2014-10-28T18:12:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=255294ceefc3ddea22669e8988195f382bd72ac6'/>
<id>urn:sha1:255294ceefc3ddea22669e8988195f382bd72ac6</id>
<content type='text'>
commit 8edf0047f4b8e03d94ef88f5a7dec146cce03a06 upstream.

There is currently a small window during which the SYSTEMPORT adapter
enables its RX interrupts without having enabled its NAPI handler, which
can result in packets to be discarded during interface bringup.

A similar but more serious window exists in bcm_sysport_resume() during
which we can have the RDMA engine not fully prepared to receive packets
and yet having RX interrupts enabled.

Fix this my moving the RX interrupt enable down to
bcm_sysport_netif_start() after napi_enable() for the RX path is called,
which fixes both call sites: bcm_sysport_open() and
bcm_sysport_resume().

Fixes: b02e6d9ba7ad ("net: systemport: add bcm_sysport_netif_{enable,stop}")
Signed-off-by: Florian Fainelli &lt;f.fainelli@gmail.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>net: systemport: fix bcm_sysport_insert_tsb()</title>
<updated>2014-10-15T10:29:23Z</updated>
<author>
<name>Florian Fainelli</name>
</author>
<published>2014-10-02T16:43:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e0ff82758ea34358e50b1c954e1d1851d38489a6'/>
<id>urn:sha1:e0ff82758ea34358e50b1c954e1d1851d38489a6</id>
<content type='text'>
[ Upstream commit e87474a6e697857df21cff0707a2472abceca8b3 ]

Similar to commit bc23333ba11fb7f959b7e87e121122f5a0fbbca8 ("net:
bcmgenet: fix bcmgenet_put_tx_csum()"), we need to return the skb
pointer in case we had to reallocate the SKB headroom.

Fixes: 80105befdb4b8 ("net: systemport: add Broadcom SYSTEMPORT Ethernet MAC driver")
Signed-off-by: Florian Fainelli &lt;f.fainelli@gmail.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>bnx2: Correctly receive full sized 802.1ad fragmes</title>
<updated>2014-10-01T20:43:45Z</updated>
<author>
<name>Vlad Yasevich</name>
</author>
<published>2014-09-30T23:39:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1b0ecb28b0cc216535ce6477d39aa610c3ff68a1'/>
<id>urn:sha1:1b0ecb28b0cc216535ce6477d39aa610c3ff68a1</id>
<content type='text'>
This driver, similar to tg3, has a check that will
cause full sized 802.1ad frames to be dropped.  The
frame will be larger then the standard mtu due to the
presense of vlan header that has not been stripped.
The driver should not drop this frame and should process
it just like it does for 802.1q.

CC: Sony Chacko &lt;sony.chacko@qlogic.com&gt;
CC: Dept-HSGLinuxNICDev@qlogic.com
Signed-off-by: Vladislav Yasevich &lt;vyasevic@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>tg3: Allow for recieve of full-size 8021AD frames</title>
<updated>2014-10-01T20:43:45Z</updated>
<author>
<name>Vlad Yasevich</name>
</author>
<published>2014-09-30T23:39:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7d3083ee36b51e425b6abd76778a2046906b0fd3'/>
<id>urn:sha1:7d3083ee36b51e425b6abd76778a2046906b0fd3</id>
<content type='text'>
When receiving a vlan-tagged frame that still contains
a vlan header, the length of the packet will be greater
then MTU+ETH_HLEN since it will account of the extra
vlan header.  TG3 checks this for the case for 802.1Q,
but not for 802.1ad.  As a result, full sized 802.1ad
frames get dropped by the card.

Add a check for 802.1ad protocol when receving full
sized frames.

Suggested-by: Prashant Sreedharan &lt;prashant@broadcom.com&gt;
CC: Prashant Sreedharan &lt;prashant@broadcom.com&gt;
CC: Michael Chan &lt;mchan@broadcom.com&gt;
Signed-off-by: Vladislav Yasevich &lt;vyasevic@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: bcmgenet: call bcmgenet_dma_teardown in bcmgenet_fini_dma</title>
<updated>2014-09-22T22:38:40Z</updated>
<author>
<name>Florian Fainelli</name>
</author>
<published>2014-09-22T18:54:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4a0c081eff43a11c65dee3ad6c457f7f58bcebe0'/>
<id>urn:sha1:4a0c081eff43a11c65dee3ad6c457f7f58bcebe0</id>
<content type='text'>
We should not be manipulaging the DMA_CTRL registers directly by writing
0 to them to disable DMA. This is an operation that needs to be timed to
make sure the DMA engines have been properly stopped since their state
machine stops on a packet boundary, not immediately.

Make sure that tha bcmgenet_fini_dma() calls bcmgenet_dma_teardown() to
ensure a proper DMA engine state. As a result, we need to reorder the
function bodies to resolve the use dependency.

Fixes: 1c1008c793fa ("net: bcmgenet: add main driver file")
Signed-off-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: bcmgenet: fix TX reclaim accounting for fragments</title>
<updated>2014-09-22T22:38:40Z</updated>
<author>
<name>Florian Fainelli</name>
</author>
<published>2014-09-22T18:54:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=478a010c9235ca92e66cc5058b42e30e33275ad4'/>
<id>urn:sha1:478a010c9235ca92e66cc5058b42e30e33275ad4</id>
<content type='text'>
The GENET driver supports SKB fragments, and succeeds in transmitting
them properly, but when reclaiming these transmitted fragments, we will
only update the count of free buffer descriptors by 1, even for SKBs
with fragments. This leads to the networking stack thinking it has more
room than the hardware has when pushing new SKBs, and backing off
consequently because we return NETDEV_TX_BUSY.

Fix this by accounting for the SKB nr_frags plus one (itself) and update
ring-&gt;free_bds accordingly with that value for each iteration loop in
__bcmgenet_tx_reclaim().

Fixes: 1c1008c793fa ("net: bcmgenet: add main driver file")
Signed-off-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>tg3: Work around HW/FW limitations with vlan encapsulated frames</title>
<updated>2014-09-22T18:20:23Z</updated>
<author>
<name>Vlad Yasevich</name>
</author>
<published>2014-09-18T14:31:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=476c18850c6cbaa3f2bb661ae9710645081563b9'/>
<id>urn:sha1:476c18850c6cbaa3f2bb661ae9710645081563b9</id>
<content type='text'>
TG3 appears to have an issue performing TSO and checksum offloading
correclty when the frame has been vlan encapsulated (non-accelrated).
In these cases, tcp checksum is not correctly updated.

This patch attempts to work around this issue.  After the patch,
802.1ad vlans start working correctly over tg3 devices.

CC: Prashant Sreedharan &lt;prashant@broadcom.com&gt;
CC: Michael Chan &lt;mchan@broadcom.com&gt;
Signed-off-by: Vladislav Yasevich &lt;vyasevic@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>drivers: net: b44: Fix typo in returning multicast stats</title>
<updated>2014-09-12T22:23:55Z</updated>
<author>
<name>Mark Einon</name>
</author>
<published>2014-09-11T22:19:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0bc9b73be43b21838973e80ddeb5250f0310ebf7'/>
<id>urn:sha1:0bc9b73be43b21838973e80ddeb5250f0310ebf7</id>
<content type='text'>
nstat-&gt;multicast refers to received packets, not transmitted as
is returned here. Change it so that received packet stats are
given.

Signed-off-by: Mark Einon &lt;mark.einon@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
