3c5xx: use netdev_mc_* helpers
Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
bf473a268a
commit
59ce25d9eb
|
@ -812,7 +812,7 @@ static void set_multicast_list(struct net_device *dev)
|
|||
if (dev->flags & IFF_PROMISC) {
|
||||
outb(RX_PROM, RX_CMD);
|
||||
inb(RX_STATUS);
|
||||
} else if (dev->mc_list || dev->flags & IFF_ALLMULTI) {
|
||||
} else if (!netdev_mc_empty(dev) || dev->flags & IFF_ALLMULTI) {
|
||||
/* Multicast or all multicast is the same */
|
||||
outb(RX_MULT, RX_CMD);
|
||||
inb(RX_STATUS); /* Clear status. */
|
||||
|
|
|
@ -1216,7 +1216,7 @@ static int elp_close(struct net_device *dev)
|
|||
static void elp_set_mc_list(struct net_device *dev)
|
||||
{
|
||||
elp_device *adapter = netdev_priv(dev);
|
||||
struct dev_mc_list *dmi = dev->mc_list;
|
||||
struct dev_mc_list *dmi;
|
||||
int i;
|
||||
unsigned long flags;
|
||||
|
||||
|
@ -1230,10 +1230,9 @@ static void elp_set_mc_list(struct net_device *dev)
|
|||
/* if num_addrs==0 the list will be cleared */
|
||||
adapter->tx_pcb.command = CMD_LOAD_MULTICAST_LIST;
|
||||
adapter->tx_pcb.length = 6 * netdev_mc_count(dev);
|
||||
for (i = 0; i < netdev_mc_count(dev); i++) {
|
||||
memcpy(adapter->tx_pcb.data.multicast[i], dmi->dmi_addr, 6);
|
||||
dmi = dmi->next;
|
||||
}
|
||||
i = 0;
|
||||
netdev_for_each_mc_addr(dmi, dev)
|
||||
memcpy(adapter->tx_pcb.data.multicast[i++], dmi->dmi_addr, 6);
|
||||
adapter->got[CMD_LOAD_MULTICAST_LIST] = 0;
|
||||
if (!send_pcb(dev, &adapter->tx_pcb))
|
||||
pr_err("%s: couldn't send set_multicast command\n", dev->name);
|
||||
|
|
|
@ -1536,7 +1536,7 @@ static void set_rx_mode(struct net_device *dev)
|
|||
pr_debug("%s: Setting promiscuous mode.\n",
|
||||
dev->name);
|
||||
new_mode = SetRxFilter | RxStation | RxMulticast | RxBroadcast | RxProm;
|
||||
} else if ((dev->mc_list) || (dev->flags & IFF_ALLMULTI)) {
|
||||
} else if (!netdev_mc_empty(dev) || dev->flags & IFF_ALLMULTI) {
|
||||
new_mode = SetRxFilter | RxStation | RxMulticast | RxBroadcast;
|
||||
} else
|
||||
new_mode = SetRxFilter | RxStation | RxBroadcast;
|
||||
|
|
|
@ -625,7 +625,7 @@ static int init586(struct net_device *dev)
|
|||
volatile struct iasetup_cmd_struct *ias_cmd;
|
||||
volatile struct tdr_cmd_struct *tdr_cmd;
|
||||
volatile struct mcsetup_cmd_struct *mc_cmd;
|
||||
struct dev_mc_list *dmi = dev->mc_list;
|
||||
struct dev_mc_list *dmi;
|
||||
int num_addrs = netdev_mc_count(dev);
|
||||
|
||||
ptr = (void *) ((char *) p->scb + sizeof(struct scb_struct));
|
||||
|
@ -787,10 +787,9 @@ static int init586(struct net_device *dev)
|
|||
mc_cmd->cmd_cmd = CMD_MCSETUP | CMD_LAST;
|
||||
mc_cmd->cmd_link = 0xffff;
|
||||
mc_cmd->mc_cnt = num_addrs * 6;
|
||||
for (i = 0; i < num_addrs; i++) {
|
||||
memcpy((char *) mc_cmd->mc_list[i], dmi->dmi_addr, 6);
|
||||
dmi = dmi->next;
|
||||
}
|
||||
i = 0;
|
||||
netdev_for_each_mc_addr(dmi, dev)
|
||||
memcpy((char *) mc_cmd->mc_list[i++], dmi->dmi_addr, 6);
|
||||
p->scb->cbl_offset = make16(mc_cmd);
|
||||
p->scb->cmd = CUC_START;
|
||||
elmc_id_attn586();
|
||||
|
|
|
@ -1533,9 +1533,7 @@ static void do_mc32_set_multicast_list(struct net_device *dev, int retry)
|
|||
{
|
||||
unsigned char block[62];
|
||||
unsigned char *bp;
|
||||
struct dev_mc_list *dmc=dev->mc_list;
|
||||
|
||||
int i;
|
||||
struct dev_mc_list *dmc;
|
||||
|
||||
if(retry==0)
|
||||
lp->mc_list_valid = 0;
|
||||
|
@ -1545,11 +1543,9 @@ static void do_mc32_set_multicast_list(struct net_device *dev, int retry)
|
|||
block[0]=netdev_mc_count(dev);
|
||||
bp=block+2;
|
||||
|
||||
for(i=0;i<netdev_mc_count(dev);i++)
|
||||
{
|
||||
netdev_for_each_mc_addr(dmc, dev) {
|
||||
memcpy(bp, dmc->dmi_addr, 6);
|
||||
bp+=6;
|
||||
dmc=dmc->next;
|
||||
}
|
||||
if(mc32_command_nowait(dev, 2, block,
|
||||
2+6*netdev_mc_count(dev))==-1)
|
||||
|
|
|
@ -2970,7 +2970,7 @@ static void set_rx_mode(struct net_device *dev)
|
|||
if (vortex_debug > 3)
|
||||
pr_notice("%s: Setting promiscuous mode.\n", dev->name);
|
||||
new_mode = SetRxFilter|RxStation|RxMulticast|RxBroadcast|RxProm;
|
||||
} else if ((dev->mc_list) || (dev->flags & IFF_ALLMULTI)) {
|
||||
} else if (!netdev_mc_empty(dev) || dev->flags & IFF_ALLMULTI) {
|
||||
new_mode = SetRxFilter|RxStation|RxMulticast|RxBroadcast;
|
||||
} else
|
||||
new_mode = SetRxFilter | RxStation | RxBroadcast;
|
||||
|
|
Loading…
Reference in New Issue