Google
  Web www.spinics.net

RE: [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]


Breno,

When the chip comes out of reset, it's default setting is to strip the
vlan tag. So, in your patch, you will need to do this differently. The
vlan_strip_flag will have to be moved to the nic structure and
initialized there. 

> +	if (vlan_tag_strip)
> +		sp->vlan_strip_flag = 1;
> +	else 
> +		sp->vlan_strip_flag = 0;

Thanks,
Ram

> 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
--
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