Skip to content

Commit

Permalink
[ARM] Fix init printk for EBSA110 network driver, and link timer
Browse files Browse the repository at this point in the history
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: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
Russell King authored and Russell King committed Oct 2, 2005
1 parent 0e3a64e commit 487fd4e
Showing 1 changed file with 9 additions and 11 deletions.
20 changes: 9 additions & 11 deletions drivers/net/arm/am79c961a.c
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand All @@ -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
Expand Down Expand Up @@ -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));
}

/*
Expand Down Expand Up @@ -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);
Expand All @@ -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);
Expand Down

0 comments on commit 487fd4e

Please sign in to comment.