diff options
Diffstat (limited to 'recipes/linux/linux-gumstix-2.6.15/smc-ether-addr.patch')
-rw-r--r-- | recipes/linux/linux-gumstix-2.6.15/smc-ether-addr.patch | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/recipes/linux/linux-gumstix-2.6.15/smc-ether-addr.patch b/recipes/linux/linux-gumstix-2.6.15/smc-ether-addr.patch deleted file mode 100644 index 920aa53ad8..0000000000 --- a/recipes/linux/linux-gumstix-2.6.15/smc-ether-addr.patch +++ /dev/null @@ -1,53 +0,0 @@ -Index: linux-2.6.15gum/drivers/net/smc91x.c -=================================================================== ---- linux-2.6.15gum.orig/drivers/net/smc91x.c -+++ linux-2.6.15gum/drivers/net/smc91x.c -@@ -1818,6 +1818,30 @@ static int __init smc_findirq(void __iom - return probe_irq_off(cookie); - } - -+/** -+ * gen_serial_ether_addr - Generate software assigned Ethernet address -+ * based on the system_serial number -+ * @addr: Pointer to a six-byte array containing the Ethernet address -+ * -+ * Generate an Ethernet address (MAC) that is not multicast -+ * and has the local assigned bit set, keyed on the system_serial -+ */ -+static inline void gen_serial_ether_addr(u8 *addr) -+{ -+ static u8 ether_serial_digit = 1; -+ addr [0] = system_serial_high >> 8; -+ addr [1] = system_serial_high; -+ addr [2] = system_serial_low >> 24; -+ addr [3] = system_serial_low >> 16; -+ addr [4] = system_serial_low >> 8; -+ addr [5] = (system_serial_low & 0xc0) | /* top bits are from system serial */ -+ (1 << 4) | /* 2 bits identify interface type 1=ether, 2=usb, 3&4 undef */ -+ ((ether_serial_digit++) & 0x0f); /* 15 possible interfaces of each type */ -+ addr [0] &= 0xfe; /* clear multicast bit */ -+ addr [0] |= 0x02; /* set local assignment bit (IEEE802) */ -+} -+ -+ - /* - * Function: smc_probe(unsigned long ioaddr) - * -@@ -2036,15 +2060,13 @@ static int __init smc_probe(struct net_d - THROTTLE_TX_PKTS ? " [throttle_tx]" : ""); - - if (!is_valid_ether_addr(dev->dev_addr)) { -- printk("%s: Invalid ethernet MAC address. Please " -- "set using ifconfig\n", dev->name); -- } else { -+ gen_serial_ether_addr(dev->dev_addr); -+ } - /* Print the Ethernet address */ - printk("%s: Ethernet addr: ", dev->name); - for (i = 0; i < 5; i++) - printk("%2.2x:", dev->dev_addr[i]); - printk("%2.2x\n", dev->dev_addr[5]); -- } - - if (lp->phy_type == 0) { - PRINTK("%s: No PHY found\n", dev->name); |