Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 97340
b: refs/heads/master
c: d494eac
h: refs/heads/master
v: v3
  • Loading branch information
Stephen Hemminger authored and Jeff Garzik committed May 22, 2008
1 parent 21f8326 commit 9d68b5c
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 11 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 8757a5f71530c2dc8db7823ad68a5d4c2fbdad19
refs/heads/master: d494eacde8858f9b53f5c640692caf14eb3c8239
29 changes: 19 additions & 10 deletions trunk/drivers/net/sky2.c
Original file line number Diff line number Diff line change
Expand Up @@ -1159,17 +1159,9 @@ static int sky2_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
}

#ifdef SKY2_VLAN_TAG_USED
static void sky2_vlan_rx_register(struct net_device *dev, struct vlan_group *grp)
static void sky2_set_vlan_mode(struct sky2_hw *hw, u16 port, bool onoff)
{
struct sky2_port *sky2 = netdev_priv(dev);
struct sky2_hw *hw = sky2->hw;
u16 port = sky2->port;

netif_tx_lock_bh(dev);
napi_disable(&hw->napi);

sky2->vlgrp = grp;
if (grp) {
if (onoff) {
sky2_write32(hw, SK_REG(port, RX_GMF_CTRL_T),
RX_VLAN_STRIP_ON);
sky2_write32(hw, SK_REG(port, TX_GMF_CTRL_T),
Expand All @@ -1180,6 +1172,19 @@ static void sky2_vlan_rx_register(struct net_device *dev, struct vlan_group *grp
sky2_write32(hw, SK_REG(port, TX_GMF_CTRL_T),
TX_VLAN_TAG_OFF);
}
}

static void sky2_vlan_rx_register(struct net_device *dev, struct vlan_group *grp)
{
struct sky2_port *sky2 = netdev_priv(dev);
struct sky2_hw *hw = sky2->hw;
u16 port = sky2->port;

netif_tx_lock_bh(dev);
napi_disable(&hw->napi);

sky2->vlgrp = grp;
sky2_set_vlan_mode(hw, port, grp != NULL);

sky2_read32(hw, B0_Y2_SP_LISR);
napi_enable(&hw->napi);
Expand Down Expand Up @@ -1418,6 +1423,10 @@ static int sky2_up(struct net_device *dev)
sky2_prefetch_init(hw, txqaddr[port], sky2->tx_le_map,
TX_RING_SIZE - 1);

#ifdef SKY2_VLAN_TAG_USED
sky2_set_vlan_mode(hw, port, sky2->vlgrp != NULL);
#endif

err = sky2_rx_start(sky2);
if (err)
goto err_out;
Expand Down

0 comments on commit 9d68b5c

Please sign in to comment.