Skip to contentSkip to conversation

s2io: fix inconsistent hardware VLAN tagging during driver init

PATCH In review Andy Gospodarek 3 participants 3 messages Dec 6, 2007 – Dec 7, 2007

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 s2io: fix inconsistent hardware VLAN tagging during driver init

The s2io driver keeps a local variable around (vlan_strip_flag) to keep track of the current state of the hardware and whether or not it will strip VLAN tags on incoming packets. It seems as though the hardware default is to strip them, but that variable is not set correctly during initialization if the default setup is used. This check ensures vlan_strip_flag and the hardware setting are in sync.

These variables were introduced by this patch:

commit 926930b202d56c3dfb6aea0a0c6bfba2b87a8c03

Author: Sivakumar Subramani <[email protected]>
Date:   Sat Feb 24 01:59:39 2007 -0500

so this problem hasn't been around forever.

Recent patches from Ramkrishna Vepa <[email protected]> removed this variable and would have worked around the problem, but they were not accepted.

---

 s2io.c |    5 +++++
 1 files changed, 5 insertions(+)
drivers/net/s2io.c +5 -0
index 8b9f0ea..08c08de 100644
@@ -2151,6 +2151,11 @@ static int start_nic(struct s2io_nic *nic)
 		val64 &= ~RX_PA_CFG_STRIP_VLAN_TAG;
 		writeq(val64, &bar0->rx_pa_cfg);
 		vlan_strip_flag = 0;
+	} else {
+		val64 = readq(&bar0->rx_pa_cfg);
+		val64 |= RX_PA_CFG_STRIP_VLAN_TAG;
+		writeq(val64, &bar0->rx_pa_cfg);
+		vlan_strip_flag = 1;
 	}
 
 	/*
#1 lore raw

Jeff,
This patch looks good. Please accept.

Ram

Quoted 11 lines

-----Original Message-----
From: Andy Gospodarek [mailto:[email protected]]
Sent: Thursday, December 06, 2007 11:57 AM
To: [email protected]
Cc: [email protected]; Rastapur Santosh; Sivakumar Subramani; Sreenivasa Honnur
Subject: [PATCH] s2io: fix inconsistent hardware VLAN tagging during driver init

The s2io driver keeps a local variable around (vlan_strip_flag) to

keep

Quoted 3 lines

track of the current state of the hardware and whether or not it will strip VLAN tags on incoming packets. It seems as though the hardware default is to strip them, but that variable is not set correctly

during

Quoted 5 lines

initialization if the default setup is used. This check ensures vlan_strip_flag and the hardware setting are in sync.

These variables were introduced by this patch:

Quoted 7 lines

commit 926930b202d56c3dfb6aea0a0c6bfba2b87a8c03

Author: Sivakumar Subramani <[email protected]>
Date:   Sat Feb 24 01:59:39 2007 -0500

so this problem hasn't been around forever.

Recent patches from Ramkrishna Vepa <[email protected]> removed

this

Quoted 26 lines

variable and would have worked around the problem, but they were not accepted.

---

 s2io.c |    5 +++++
 1 files changed, 5 insertions(+)
drivers/net/s2io.c +5 -0
index 8b9f0ea..08c08de 100644
@@ -2151,6 +2151,11 @@ static int start_nic(struct s2io_nic *nic)
 		val64 &= ~RX_PA_CFG_STRIP_VLAN_TAG;
 		writeq(val64, &bar0->rx_pa_cfg);
 		vlan_strip_flag = 0;
+	} else {
+		val64 = readq(&bar0->rx_pa_cfg);
+		val64 |= RX_PA_CFG_STRIP_VLAN_TAG;
+		writeq(val64, &bar0->rx_pa_cfg);
+		vlan_strip_flag = 1;
 	}
 
 	/*
#2 lore raw
Quoted 12 lines · Ramkrishna Vepa

Jeff,
This patch looks good. Please accept.

Ram

Quoted 8 lines

-----Original Message-----
From: Andy Gospodarek [mailto:[email protected]]
Sent: Thursday, December 06, 2007 11:57 AM
To: [email protected]
Cc: [email protected]; Rastapur Santosh; Sivakumar Subramani; Sreenivasa Honnur
Subject: [PATCH] s2io: fix inconsistent hardware VLAN tagging during driver init

queued for my next patch run...