summaryrefslogtreecommitdiff
path: root/packages/linux/linux-2.6.21/serial-ether-addr.patch
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
committerDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
commit709c4d66e0b107ca606941b988bad717c0b45d9b (patch)
tree37ee08b1eb308f3b2b6426d5793545c38396b838 /packages/linux/linux-2.6.21/serial-ether-addr.patch
parentfa6cd5a3b993f16c27de4ff82b42684516d433ba (diff)
rename packages/ to recipes/ per earlier agreement
See links below for more details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326 http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816 Signed-off-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Mike Westerhof <mwester@dls.net> Acked-by: Philip Balister <philip@balister.org> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Marcin Juszkiewicz <hrw@openembedded.org> Acked-by: Koen Kooi <koen@openembedded.org> Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'packages/linux/linux-2.6.21/serial-ether-addr.patch')
-rw-r--r--packages/linux/linux-2.6.21/serial-ether-addr.patch62
1 files changed, 0 insertions, 62 deletions
diff --git a/packages/linux/linux-2.6.21/serial-ether-addr.patch b/packages/linux/linux-2.6.21/serial-ether-addr.patch
deleted file mode 100644
index 3161472e90..0000000000
--- a/packages/linux/linux-2.6.21/serial-ether-addr.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-Index: linux-2.6.21gum/drivers/usb/gadget/ether.c
-===================================================================
---- linux-2.6.21gum.orig/drivers/usb/gadget/ether.c
-+++ linux-2.6.21gum/drivers/usb/gadget/ether.c
-@@ -2249,6 +2249,38 @@ static u8 __devinit nibble (unsigned cha
- return 0;
- }
-
-+static inline unsigned int is_gumstix_oui(u8 *addr)
-+{
-+ return (addr[0] == 0x00 && addr[1] == 0x15 && addr[2] == 0xC9);
-+}
-+
-+/**
-+ * 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 = 0;
-+ 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 */
-+ (2 << 4) | /* 2 bits identify interface type 1=ether, 2=usb, 3&4 undef */
-+ ((ether_serial_digit++) & 0x0f); /* 15 possible interfaces of each type */
-+
-+ if(!is_gumstix_oui(addr))
-+ {
-+ addr [0] &= 0xfe; /* clear multicast bit */
-+ addr [0] |= 0x02; /* set local assignment bit (IEEE802) */
-+ }
-+}
-+
- static int __devinit get_ether_addr(const char *str, u8 *dev_addr)
- {
- if (str) {
-@@ -2266,8 +2298,16 @@ static int __devinit get_ether_addr(cons
- if (is_valid_ether_addr (dev_addr))
- return 0;
- }
-- random_ether_addr(dev_addr);
-- return 1;
-+ if(system_serial_high | system_serial_low)
-+ {
-+ gen_serial_ether_addr(dev_addr);
-+ return 0;
-+ }
-+ else
-+ {
-+ random_ether_addr(dev_addr);
-+ return 1;
-+ }
- }
-
- static int __devinit