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

Commit cce5fbad authored by Ondrej Zary's avatar Ondrej Zary Committed by David S. Miller
Browse files

pcnet32: factor out pcnet32_clr_suspend()



Move the code to clear SUSPEND flag to a separate function to simplify
code.

Signed-off-by: default avatarOndrej Zary <linux@rainbow-software.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 1ca6270b
Loading
Loading
Loading
Loading
+10 −11
Original line number Diff line number Diff line
@@ -1108,6 +1108,13 @@ static int pcnet32_suspend(struct net_device *dev, unsigned long *flags,
	return 1;
}

static void pcnet32_clr_suspend(struct pcnet32_private *lp, ulong ioaddr)
{
	int csr5 = lp->a->read_csr(ioaddr, CSR5);
	/* clear SUSPEND (SPND) - CSR5 bit 0 */
	lp->a->write_csr(ioaddr, CSR5, csr5 & ~CSR5_SUSPEND);
}

/*
 * process one receive descriptor entry
 */
@@ -1425,13 +1432,8 @@ static void pcnet32_get_regs(struct net_device *dev, struct ethtool_regs *regs,
		}
	}

	if (!(csr0 & CSR0_STOP)) {	/* If not stopped */
		int csr5;

		/* clear SUSPEND (SPND) - CSR5 bit 0 */
		csr5 = a->read_csr(ioaddr, CSR5);
		a->write_csr(ioaddr, CSR5, csr5 & (~CSR5_SUSPEND));
	}
	if (!(csr0 & CSR0_STOP))	/* If not stopped */
		pcnet32_clr_suspend(lp, ioaddr);

	spin_unlock_irqrestore(&lp->lock, flags);
}
@@ -2675,10 +2677,7 @@ static void pcnet32_set_multicast_list(struct net_device *dev)
	}

	if (suspended) {
		int csr5;
		/* clear SUSPEND (SPND) - CSR5 bit 0 */
		csr5 = lp->a->read_csr(ioaddr, CSR5);
		lp->a->write_csr(ioaddr, CSR5, csr5 & (~CSR5_SUSPEND));
		pcnet32_clr_suspend(lp, ioaddr);
	} else {
		lp->a->write_csr(ioaddr, CSR0, CSR0_STOP);
		pcnet32_restart(dev, CSR0_NORMAL);