X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=drivers%2Fnet%2Feepro100.c;h=07ec34cbba4b9a560ae73d9d65427213d9f26e87;hb=65029492914ea96dec0bfe25a987463a869c72d2;hp=9c06b25569419d73d96b4537e7db3b4339967032;hpb=cb5473205206c7f14cbb1e747f28ec75b48826e2;p=u-boot diff --git a/drivers/net/eepro100.c b/drivers/net/eepro100.c index 9c06b25569..07ec34cbba 100644 --- a/drivers/net/eepro100.c +++ b/drivers/net/eepro100.c @@ -321,7 +321,8 @@ static int set_phyreg (struct eth_device *dev, unsigned char addr, /* Check if given phyaddr is valid, i.e. there is a PHY connected. * Do this by checking model value field from ID2 register. */ -static struct eth_device* verify_phyaddr (char *devname, unsigned char addr) +static struct eth_device* verify_phyaddr (const char *devname, + unsigned char addr) { struct eth_device *dev; unsigned short value; @@ -334,7 +335,7 @@ static struct eth_device* verify_phyaddr (char *devname, unsigned char addr) } /* read id2 register */ - if (get_phyreg(dev, addr, PHY_PHYIDR2, &value) != 0) { + if (get_phyreg(dev, addr, MII_PHYSID2, &value) != 0) { printf("%s: mii read timeout!\n", devname); return NULL; } @@ -350,7 +351,7 @@ static struct eth_device* verify_phyaddr (char *devname, unsigned char addr) return dev; } -static int eepro100_miiphy_read (char *devname, unsigned char addr, +static int eepro100_miiphy_read(const char *devname, unsigned char addr, unsigned char reg, unsigned short *value) { struct eth_device *dev; @@ -367,7 +368,7 @@ static int eepro100_miiphy_read (char *devname, unsigned char addr, return 0; } -static int eepro100_miiphy_write (char *devname, unsigned char addr, +static int eepro100_miiphy_write(const char *devname, unsigned char addr, unsigned char reg, unsigned short value) { struct eth_device *dev; @@ -449,6 +450,11 @@ int eepro100_initialize (bd_t * bis) } dev = (struct eth_device *) malloc (sizeof *dev); + if (!dev) { + printf("eepro100: Can not allocate memory\n"); + break; + } + memset(dev, 0, sizeof(*dev)); sprintf (dev->name, "i82559#%d", card_number); dev->priv = (void *) devno; /* this have to come before bus_to_phys() */ @@ -917,7 +923,6 @@ static void purge_tx_ring (struct eth_device *dev) static void read_hw_addr (struct eth_device *dev, bd_t * bis) { - u16 eeprom[0x40]; u16 sum = 0; int i, j; int addr_len = read_eeprom (dev, 0, 6) == 0xffff ? 8 : 6; @@ -925,7 +930,6 @@ static void read_hw_addr (struct eth_device *dev, bd_t * bis) for (j = 0, i = 0; i < 0x40; i++) { u16 value = read_eeprom (dev, i, addr_len); - eeprom[i] = value; sum += value; if (i < 3) { dev->enetaddr[j++] = value;