Google
  Web www.spinics.net

[PATCH 1/1 net-2.6] s2io: enabling VLAN tag stripping at driver initialization

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


Actually s2io has a bug in VLAN support. VLAN doesn't work except if
you'd opened the interface in promiscuous mode before. 
This happens because VLAN tag stripping is not enable by default (when
the device is loaded). It is only enabled when the device leaves
promiscuous mode.

Signed-off-by: Breno Leitao <leitao@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Jay Vosburgh <fubar@xxxxxxxxxx>

---

diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c
index a2b0730..e656c80 100644
--- a/drivers/net/s2io.c
+++ b/drivers/net/s2io.c
@@ -8206,6 +8206,14 @@ s2io_init_nic(struct pci_dev *pdev, const struct pci_device_id *pre)
 	/* Initialize device name */
 	sprintf(sp->name, "%s Neterion %s", dev->name, sp->product_name);
 
+	/* Initialize VLAN tag strip */
+	if (vlan_tag_strip) {
+		val64 = readq(&bar0->rx_pa_cfg);
+		val64 |= RX_PA_CFG_STRIP_VLAN_TAG;
+		writeq(val64, &bar0->rx_pa_cfg);
+		vlan_strip_flag = 1;
+	}
+
 	/*
 	 * Make Link state as off at this point, when the Link change
 	 * interrupt comes the state will be automatically changed to
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Kernel List]     [Site Home]     [Ethernet Bridging]     [Git]     [IETF Annouce]     [Linux Assembly]     [VLAN]     [Networking]     [Security]     [Bugtraq]     [Rubini]     [Photo]     [Singles Social Netowrking]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Virtualization]     [Linux Security]     [Linux IDE]     [Linux RAID]     [Linux SCSI]     [Linux Wireless]     [DDR & Rambus]     [Free Dating]     [Linux Resources]     [Wireless Reading Device]

Add to Google Powered by Linux