diff options
author | Olaf Hering <olh@suse.de> | 2005-12-09 13:12:10 -0500 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-12-12 15:30:38 -0500 |
commit | 016cc85072944bfa03c5e4b587ae89588ce2e5df (patch) | |
tree | 4e50ca29a0e4a3ff260f8eae0972ab7f83e08cd1 | |
parent | 20234989a8ae0ff418e2acdef72205fb7cb3f819 (diff) |
[PATCH] pcnet32: use MAC address from prom also on powerpc
The CSR contains garbage after a coldboot on RS/6000.
One some systems (like my 44p 270) the MAC address is all FF,
on others (like my B50) it is ff:ff:ff:fd:ff:6b.
It can eventually be fixed by loading pcnet32, set the interface
into the UP state, rmmod pcnet32 and load it again. But this worked
only on the 270.
Only netbooting after a cold start provides the correct MAC address
via prom and CSR. This makes it very unreliable.
I dont know why the MAC is stored in two different places. Remove
the special case for powerpc, which was added in early 2.4 development.
Signed-off-by: Olaf Hering <olh@suse.de>
drivers/net/pcnet32.c | 5 -----
1 files changed, 5 deletions(-)
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
-rw-r--r-- | drivers/net/pcnet32.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/drivers/net/pcnet32.c b/drivers/net/pcnet32.c index be319229f543..8f6cf8c896a4 100644 --- a/drivers/net/pcnet32.c +++ b/drivers/net/pcnet32.c | |||
@@ -1251,12 +1251,7 @@ pcnet32_probe1(unsigned long ioaddr, int shared, struct pci_dev *pdev) | |||
1251 | 1251 | ||
1252 | if (memcmp(promaddr, dev->dev_addr, 6) | 1252 | if (memcmp(promaddr, dev->dev_addr, 6) |
1253 | || !is_valid_ether_addr(dev->dev_addr)) { | 1253 | || !is_valid_ether_addr(dev->dev_addr)) { |
1254 | #ifndef __powerpc__ | ||
1255 | if (is_valid_ether_addr(promaddr)) { | 1254 | if (is_valid_ether_addr(promaddr)) { |
1256 | #else | ||
1257 | if (!is_valid_ether_addr(dev->dev_addr) | ||
1258 | && is_valid_ether_addr(promaddr)) { | ||
1259 | #endif | ||
1260 | if (pcnet32_debug & NETIF_MSG_PROBE) { | 1255 | if (pcnet32_debug & NETIF_MSG_PROBE) { |
1261 | printk(" warning: CSR address invalid,\n"); | 1256 | printk(" warning: CSR address invalid,\n"); |
1262 | printk(KERN_INFO " using instead PROM address of"); | 1257 | printk(KERN_INFO " using instead PROM address of"); |