be2net: Fix to avoid hardware workaround when not needed
svn path=/dists/sid/linux/; revision=20365
This commit is contained in:
parent
6b298896bb
commit
b70783d289
|
@ -6,6 +6,7 @@ linux (3.10.1-2) UNRELEASED; urgency=low
|
|||
[ Ben Hutchings ]
|
||||
* udeb: Add snd-cmi8328 and snd-scs1x to sound-modules, thanks to
|
||||
Samuel Thibault (Closes: #717183)
|
||||
* be2net: Fix to avoid hardware workaround when not needed
|
||||
|
||||
-- Arnaud Patard <arnaud.patard@rtp-net.org> Tue, 16 Jul 2013 08:19:29 +0200
|
||||
|
||||
|
|
46
debian/patches/bugfix/all/be2net-Fix-to-avoid-hardware-workaround-when-not-nee.patch
vendored
Normal file
46
debian/patches/bugfix/all/be2net-Fix-to-avoid-hardware-workaround-when-not-nee.patch
vendored
Normal file
|
@ -0,0 +1,46 @@
|
|||
From: Sarveshwar Bandi <sarveshwar.bandi@emulex.com>
|
||||
Date: Tue, 16 Jul 2013 12:44:02 +0530
|
||||
Subject: be2net: Fix to avoid hardware workaround when not needed
|
||||
Origin: https://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit?id=52fe29e4bb614367c108b717c6d7fe5953eb7af3
|
||||
|
||||
Hardware workaround requesting hardware to skip vlan insertion is necessary
|
||||
only when umc or qnq is enabled. Enabling this workaround in other scenarios
|
||||
could cause controller to stall.
|
||||
|
||||
Signed-off-by: Sarveshwar Bandi <sarveshwar.bandi@emulex.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/ethernet/emulex/benet/be_main.c | 14 ++++++++++----
|
||||
1 file changed, 10 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c
|
||||
index 2df48bb..181edb5 100644
|
||||
--- a/drivers/net/ethernet/emulex/benet/be_main.c
|
||||
+++ b/drivers/net/ethernet/emulex/benet/be_main.c
|
||||
@@ -782,16 +782,22 @@ static struct sk_buff *be_insert_vlan_in_pkt(struct be_adapter *adapter,
|
||||
|
||||
if (vlan_tx_tag_present(skb))
|
||||
vlan_tag = be_get_tx_vlan_tag(adapter, skb);
|
||||
- else if (qnq_async_evt_rcvd(adapter) && adapter->pvid)
|
||||
- vlan_tag = adapter->pvid;
|
||||
+
|
||||
+ if (qnq_async_evt_rcvd(adapter) && adapter->pvid) {
|
||||
+ if (!vlan_tag)
|
||||
+ vlan_tag = adapter->pvid;
|
||||
+ /* f/w workaround to set skip_hw_vlan = 1, informs the F/W to
|
||||
+ * skip VLAN insertion
|
||||
+ */
|
||||
+ if (skip_hw_vlan)
|
||||
+ *skip_hw_vlan = true;
|
||||
+ }
|
||||
|
||||
if (vlan_tag) {
|
||||
skb = __vlan_put_tag(skb, htons(ETH_P_8021Q), vlan_tag);
|
||||
if (unlikely(!skb))
|
||||
return skb;
|
||||
skb->vlan_tci = 0;
|
||||
- if (skip_hw_vlan)
|
||||
- *skip_hw_vlan = true;
|
||||
}
|
||||
|
||||
/* Insert the outer VLAN, if any */
|
|
@ -105,3 +105,4 @@ bugfix/all/alx-fix-ethtool-support-code.patch
|
|||
bugfix/all/alx-remove-WoL-support.patch
|
||||
bugfix/all/alx-fix-lockdep-annotation.patch
|
||||
bugfix/all/xen-blkback-Check-device-permissions-before-allowing.patch
|
||||
bugfix/all/be2net-Fix-to-avoid-hardware-workaround-when-not-nee.patch
|
||||
|
|
Loading…
Reference in New Issue