Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 59ce25d9 authored by Jiri Pirko's avatar Jiri Pirko Committed by David S. Miller
Browse files

3c5xx: use netdev_mc_* helpers

parent bf473a26
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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. */
+4 −5
Original line number Diff line number Diff line
@@ -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);
+1 −1
Original line number Diff line number Diff line
@@ -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;
+4 −5
Original line number Diff line number Diff line
@@ -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();
+2 −6
Original line number Diff line number Diff line
@@ -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)
Loading