aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target/linux/atheros-2.6/files/drivers/net/ar2313/ar2313.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/target/linux/atheros-2.6/files/drivers/net/ar2313/ar2313.c b/target/linux/atheros-2.6/files/drivers/net/ar2313/ar2313.c
index 82e9e94d5c..bf62c78b13 100644
--- a/target/linux/atheros-2.6/files/drivers/net/ar2313/ar2313.c
+++ b/target/linux/atheros-2.6/files/drivers/net/ar2313/ar2313.c
@@ -296,7 +296,10 @@ int __init ar2313_probe(struct platform_device *pdev)
memcpy(dev->dev_addr, def_mac, 6);
} else {
memcpy(dev->dev_addr, ((u8 *)configstart)+102, 6);
- }
+ /* use the other MAC slot if the first one is empty */
+ if (!memcmp(dev->dev_addr, "\xff\xff\xff\xff\xff\xff", 6))
+ memcpy(dev->dev_addr, ((u8 *)configstart)+102 + 6, 6);
+ }
}
sp->board_idx = BOARD_IDX_STATIC;