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

Commit 487fd4eb authored by Russell King's avatar Russell King Committed by Russell King
Browse files

[ARM] Fix init printk for EBSA110 network driver, and link timer



Arrange for the initialisation printks to happen after we've
registered the network interface, so we know what name the
device is.  Also, check the link every 500ms (and use
msecs_to_jiffies.)

Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 0e3a64e2
Loading
Loading
Loading
Loading
+9 −11
Original line number Diff line number Diff line
@@ -15,16 +15,13 @@
 */
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/fcntl.h>
#include <linux/interrupt.h>
#include <linux/ioport.h>
#include <linux/in.h>
#include <linux/slab.h>
#include <linux/string.h>
#include <linux/errno.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/crc32.h>
@@ -33,7 +30,6 @@
#include <asm/system.h>
#include <asm/irq.h>
#include <asm/io.h>
#include <asm/dma.h>

#define TX_BUFFERS 15
#define RX_BUFFERS 25
@@ -288,7 +284,7 @@ static void am79c961_timer(unsigned long data)
	else if (!lnkstat && carrier)
		netif_carrier_off(dev);

	mod_timer(&priv->timer, jiffies + 5*HZ);
	mod_timer(&priv->timer, jiffies + msecs_to_jiffies(500));
}

/*
@@ -709,13 +705,9 @@ static int __init am79c961_init(void)
	    	goto release;

	am79c961_banner();
	printk(KERN_INFO "%s: ether address ", dev->name);

	/* Retrive and print the ethernet address. */
	for (i = 0; i < 6; i++) {
	for (i = 0; i < 6; i++)
		dev->dev_addr[i] = inb(dev->base_addr + i * 2) & 0xff;
		printk (i == 5 ? "%02x\n" : "%02x:", dev->dev_addr[i]);
	}

	spin_lock_init(&priv->chip_lock);
	init_timer(&priv->timer);
@@ -736,8 +728,14 @@ static int __init am79c961_init(void)
#endif

	ret = register_netdev(dev);
	if (ret == 0)
	if (ret == 0) {
		printk(KERN_INFO "%s: ether address ", dev->name);

		for (i = 0; i < 6; i++)
			printk (i == 5 ? "%02x\n" : "%02x:", dev->dev_addr[i]);

		return 0;
	}

release:
	release_region(dev->base_addr, 0x18);