Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/ieee802154/fakehard.c drivers/net/e1000e/ich8lan.c drivers/net/e1000e/phy.c drivers/net/netxen/netxen_nic_init.c drivers/net/wireless/ath/ath9k/main.c
This commit is contained in:
@@ -389,24 +389,51 @@ int netxen_niu_disable_xg_port(struct netxen_adapter *adapter)
|
||||
|
||||
int netxen_p2_nic_set_promisc(struct netxen_adapter *adapter, u32 mode)
|
||||
{
|
||||
__u32 reg;
|
||||
u32 mac_cfg;
|
||||
u32 cnt = 0;
|
||||
__u32 reg = 0x0200;
|
||||
u32 port = adapter->physical_port;
|
||||
u16 board_type = adapter->ahw.board_type;
|
||||
|
||||
if (port > NETXEN_NIU_MAX_XG_PORTS)
|
||||
return -EINVAL;
|
||||
|
||||
reg = NXRD32(adapter, NETXEN_NIU_XGE_CONFIG_1 + (0x10000 * port));
|
||||
if (mode == NETXEN_NIU_PROMISC_MODE)
|
||||
reg = (reg | 0x2000UL);
|
||||
else
|
||||
reg = (reg & ~0x2000UL);
|
||||
mac_cfg = NXRD32(adapter, NETXEN_NIU_XGE_CONFIG_0 + (0x10000 * port));
|
||||
mac_cfg &= ~0x4;
|
||||
NXWR32(adapter, NETXEN_NIU_XGE_CONFIG_0 + (0x10000 * port), mac_cfg);
|
||||
|
||||
if (mode == NETXEN_NIU_ALLMULTI_MODE)
|
||||
reg = (reg | 0x1000UL);
|
||||
else
|
||||
reg = (reg & ~0x1000UL);
|
||||
if ((board_type == NETXEN_BRDTYPE_P2_SB31_10G_IMEZ) ||
|
||||
(board_type == NETXEN_BRDTYPE_P2_SB31_10G_HMEZ))
|
||||
reg = (0x20 << port);
|
||||
|
||||
NXWR32(adapter, NETXEN_NIU_XGE_CONFIG_1 + (0x10000 * port), reg);
|
||||
NXWR32(adapter, NETXEN_NIU_FRAME_COUNT_SELECT, reg);
|
||||
|
||||
mdelay(10);
|
||||
|
||||
while (NXRD32(adapter, NETXEN_NIU_FRAME_COUNT) && ++cnt < 20)
|
||||
mdelay(10);
|
||||
|
||||
if (cnt < 20) {
|
||||
|
||||
reg = NXRD32(adapter,
|
||||
NETXEN_NIU_XGE_CONFIG_1 + (0x10000 * port));
|
||||
|
||||
if (mode == NETXEN_NIU_PROMISC_MODE)
|
||||
reg = (reg | 0x2000UL);
|
||||
else
|
||||
reg = (reg & ~0x2000UL);
|
||||
|
||||
if (mode == NETXEN_NIU_ALLMULTI_MODE)
|
||||
reg = (reg | 0x1000UL);
|
||||
else
|
||||
reg = (reg & ~0x1000UL);
|
||||
|
||||
NXWR32(adapter,
|
||||
NETXEN_NIU_XGE_CONFIG_1 + (0x10000 * port), reg);
|
||||
}
|
||||
|
||||
mac_cfg |= 0x4;
|
||||
NXWR32(adapter, NETXEN_NIU_XGE_CONFIG_0 + (0x10000 * port), mac_cfg);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -442,7 +469,7 @@ netxen_nic_enable_mcast_filter(struct netxen_adapter *adapter)
|
||||
{
|
||||
u32 val = 0;
|
||||
u16 port = adapter->physical_port;
|
||||
u8 *addr = adapter->netdev->dev_addr;
|
||||
u8 *addr = adapter->mac_addr;
|
||||
|
||||
if (adapter->mc_enabled)
|
||||
return 0;
|
||||
@@ -471,7 +498,7 @@ netxen_nic_disable_mcast_filter(struct netxen_adapter *adapter)
|
||||
{
|
||||
u32 val = 0;
|
||||
u16 port = adapter->physical_port;
|
||||
u8 *addr = adapter->netdev->dev_addr;
|
||||
u8 *addr = adapter->mac_addr;
|
||||
|
||||
if (!adapter->mc_enabled)
|
||||
return 0;
|
||||
@@ -666,7 +693,7 @@ void netxen_p3_nic_set_multi(struct net_device *netdev)
|
||||
|
||||
list_splice_tail_init(&adapter->mac_list, &del_list);
|
||||
|
||||
nx_p3_nic_add_mac(adapter, netdev->dev_addr, &del_list);
|
||||
nx_p3_nic_add_mac(adapter, adapter->mac_addr, &del_list);
|
||||
nx_p3_nic_add_mac(adapter, bcast_addr, &del_list);
|
||||
|
||||
if (netdev->flags & IFF_PROMISC) {
|
||||
|
Reference in New Issue
Block a user