Commit c8d9e6dd authored by Jiri Pirko's avatar Jiri Pirko Committed by David S. Miller

amd8111e: do vlan cleanup

- unify vlan and nonvlan rx path
- kill lp->vlgrp and amd8111e_vlan_rx_register
Signed-off-by: default avatarJiri Pirko <jpirko@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 9fea0330
...@@ -661,15 +661,6 @@ static void amd8111e_free_ring(struct amd8111e_priv* lp) ...@@ -661,15 +661,6 @@ static void amd8111e_free_ring(struct amd8111e_priv* lp)
} }
} }
#if AMD8111E_VLAN_TAG_USED
/*
This is the receive indication function for packets with vlan tag.
*/
static int amd8111e_vlan_rx(struct amd8111e_priv *lp, struct sk_buff *skb, u16 vlan_tag)
{
return vlan_hwaccel_receive_skb(skb, lp->vlgrp,vlan_tag);
}
#endif
/* /*
This function will free all the transmit skbs that are actually transmitted by the device. It will check the ownership of the skb before freeing the skb. This function will free all the transmit skbs that are actually transmitted by the device. It will check the ownership of the skb before freeing the skb.
...@@ -764,7 +755,7 @@ static int amd8111e_rx_poll(struct napi_struct *napi, int budget) ...@@ -764,7 +755,7 @@ static int amd8111e_rx_poll(struct napi_struct *napi, int budget)
#if AMD8111E_VLAN_TAG_USED #if AMD8111E_VLAN_TAG_USED
vtag = status & TT_MASK; vtag = status & TT_MASK;
/*MAC will strip vlan tag*/ /*MAC will strip vlan tag*/
if(lp->vlgrp != NULL && vtag !=0) if (vtag != 0)
min_pkt_len =MIN_PKT_LEN - 4; min_pkt_len =MIN_PKT_LEN - 4;
else else
#endif #endif
...@@ -799,12 +790,12 @@ static int amd8111e_rx_poll(struct napi_struct *napi, int budget) ...@@ -799,12 +790,12 @@ static int amd8111e_rx_poll(struct napi_struct *napi, int budget)
skb->protocol = eth_type_trans(skb, dev); skb->protocol = eth_type_trans(skb, dev);
#if AMD8111E_VLAN_TAG_USED #if AMD8111E_VLAN_TAG_USED
if(lp->vlgrp != NULL && (vtag == TT_VLAN_TAGGED)){ if (vtag == TT_VLAN_TAGGED){
amd8111e_vlan_rx(lp, skb, u16 vlan_tag = le16_to_cpu(lp->rx_ring[rx_index].tag_ctrl_info);
le16_to_cpu(lp->rx_ring[rx_index].tag_ctrl_info)); __vlan_hwaccel_put_tag(skb, vlan_tag);
} else }
#endif #endif
netif_receive_skb(skb); netif_receive_skb(skb);
/*COAL update rx coalescing parameters*/ /*COAL update rx coalescing parameters*/
lp->coal_conf.rx_packets++; lp->coal_conf.rx_packets++;
lp->coal_conf.rx_bytes += pkt_len; lp->coal_conf.rx_bytes += pkt_len;
...@@ -1598,16 +1589,6 @@ static int amd8111e_change_mtu(struct net_device *dev, int new_mtu) ...@@ -1598,16 +1589,6 @@ static int amd8111e_change_mtu(struct net_device *dev, int new_mtu)
return err; return err;
} }
#if AMD8111E_VLAN_TAG_USED
static void amd8111e_vlan_rx_register(struct net_device *dev, struct vlan_group *grp)
{
struct amd8111e_priv *lp = netdev_priv(dev);
spin_lock_irq(&lp->lock);
lp->vlgrp = grp;
spin_unlock_irq(&lp->lock);
}
#endif
static int amd8111e_enable_magicpkt(struct amd8111e_priv* lp) static int amd8111e_enable_magicpkt(struct amd8111e_priv* lp)
{ {
writel( VAL1|MPPLBA, lp->mmio + CMD3); writel( VAL1|MPPLBA, lp->mmio + CMD3);
...@@ -1822,9 +1803,6 @@ static const struct net_device_ops amd8111e_netdev_ops = { ...@@ -1822,9 +1803,6 @@ static const struct net_device_ops amd8111e_netdev_ops = {
.ndo_set_mac_address = amd8111e_set_mac_address, .ndo_set_mac_address = amd8111e_set_mac_address,
.ndo_do_ioctl = amd8111e_ioctl, .ndo_do_ioctl = amd8111e_ioctl,
.ndo_change_mtu = amd8111e_change_mtu, .ndo_change_mtu = amd8111e_change_mtu,
#if AMD8111E_VLAN_TAG_USED
.ndo_vlan_rx_register = amd8111e_vlan_rx_register,
#endif
#ifdef CONFIG_NET_POLL_CONTROLLER #ifdef CONFIG_NET_POLL_CONTROLLER
.ndo_poll_controller = amd8111e_poll, .ndo_poll_controller = amd8111e_poll,
#endif #endif
......
...@@ -783,9 +783,6 @@ struct amd8111e_priv{ ...@@ -783,9 +783,6 @@ struct amd8111e_priv{
struct net_device *next; struct net_device *next;
int mii; int mii;
struct mii_if_info mii_if; struct mii_if_info mii_if;
#if AMD8111E_VLAN_TAG_USED
struct vlan_group *vlgrp;
#endif
char opened; char opened;
unsigned int drv_rx_errors; unsigned int drv_rx_errors;
struct amd8111e_coalesce_conf coal_conf; struct amd8111e_coalesce_conf coal_conf;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment