atheros: fix up empty radio data mac address (based on patch from #8601)
authorFelix Fietkau <nbd@openwrt.org>
Sat, 9 Apr 2011 18:25:59 +0000 (18:25 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Sat, 9 Apr 2011 18:25:59 +0000 (18:25 +0000)
SVN-Revision: 26555

target/linux/atheros/patches-2.6.37/100-board.patch

index 97d51f47982db55c3603c4f35dcd04518f02d71b..b72d32109ceaeda18fba5425224748e4e1272c5f 100644 (file)
@@ -85,7 +85,7 @@
 +obj-$(CONFIG_ATHEROS_AR2315) += ar2315.o
 --- /dev/null
 +++ b/arch/mips/ar231x/board.c
-@@ -0,0 +1,251 @@
+@@ -0,0 +1,258 @@
 +/*
 + * This file is subject to the terms and conditions of the GNU General Public
 + * License.  See the file "COPYING" in the main directory of this archive
 +      u8 *bcfg, *rcfg;
 +      u8 *board_data;
 +      u8 *radio_data;
++      u8 *mac_addr;
 +      u32 offset;
 +
 +      ar231x_board.config = NULL;
 +      rcfg_size = BOARD_CONFIG_BUFSZ - offset;
 +      memcpy(radio_data, rcfg, rcfg_size);
 +
++      mac_addr = &radio_data[0x1d * 2];
++      if (is_broadcast_ether_addr(mac_addr)) {
++              printk(KERN_INFO "Radio MAC is blank; using board-data\n");
++              memcpy(mac_addr, ar231x_board.config->wlan0_mac, ETH_ALEN);
++      }
++
 +      return 0;
 +}
 +