lantiq: fix mac addr assignment inside lantiq_etop
Signed-off-by: John Crispin <blogic@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44420 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
13792e950d
commit
7030ba8193
|
@ -30,7 +30,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||||
+#endif /* _PCI_ATH_FIXUP */
|
+#endif /* _PCI_ATH_FIXUP */
|
||||||
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
|
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
|
||||||
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
|
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
|
||||||
@@ -90,5 +90,8 @@ int xrx200_gphy_boot(struct device *dev,
|
@@ -90,5 +90,8 @@
|
||||||
extern void ltq_pmu_enable(unsigned int module);
|
extern void ltq_pmu_enable(unsigned int module);
|
||||||
extern void ltq_pmu_disable(unsigned int module);
|
extern void ltq_pmu_disable(unsigned int module);
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||||
#endif /* _LTQ_XWAY_H__ */
|
#endif /* _LTQ_XWAY_H__ */
|
||||||
--- a/arch/mips/lantiq/xway/Makefile
|
--- a/arch/mips/lantiq/xway/Makefile
|
||||||
+++ b/arch/mips/lantiq/xway/Makefile
|
+++ b/arch/mips/lantiq/xway/Makefile
|
||||||
@@ -2,4 +2,7 @@ obj-y := prom.o sysctrl.o clk.o reset.o
|
@@ -2,4 +2,7 @@
|
||||||
|
|
||||||
obj-y += vmmc.o tffs.o
|
obj-y += vmmc.o tffs.o
|
||||||
|
|
||||||
|
@ -590,7 +590,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||||
+device_initcall(of_ralink_eeprom_init);
|
+device_initcall(of_ralink_eeprom_init);
|
||||||
--- a/drivers/net/ethernet/lantiq_etop.c
|
--- a/drivers/net/ethernet/lantiq_etop.c
|
||||||
+++ b/drivers/net/ethernet/lantiq_etop.c
|
+++ b/drivers/net/ethernet/lantiq_etop.c
|
||||||
@@ -161,7 +161,7 @@ struct ltq_etop_priv {
|
@@ -161,7 +161,7 @@
|
||||||
int tx_irq;
|
int tx_irq;
|
||||||
int rx_irq;
|
int rx_irq;
|
||||||
|
|
||||||
|
@ -599,15 +599,15 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||||
int mii_mode;
|
int mii_mode;
|
||||||
|
|
||||||
spinlock_t lock;
|
spinlock_t lock;
|
||||||
@@ -840,7 +840,11 @@ ltq_etop_init(struct net_device *dev)
|
@@ -840,7 +840,11 @@
|
||||||
if (err)
|
if (err)
|
||||||
goto err_hw;
|
goto err_hw;
|
||||||
|
|
||||||
- memcpy(&mac, &priv->pldata->mac, sizeof(struct sockaddr));
|
- memcpy(&mac, &priv->pldata->mac, sizeof(struct sockaddr));
|
||||||
+ if (priv->mac)
|
+ if (priv->mac)
|
||||||
+ memcpy(&mac, priv->mac, sizeof(struct sockaddr));
|
+ memcpy(&mac.sa_data, priv->mac, ETH_ALEN);
|
||||||
+ else
|
+ else
|
||||||
+ memcpy(&mac, ltq_get_eth_mac(), sizeof(struct sockaddr));
|
+ memcpy(&mac.sa_data, ltq_get_eth_mac(), ETH_ALEN);
|
||||||
+
|
+
|
||||||
if (!is_valid_ether_addr(mac.sa_data)) {
|
if (!is_valid_ether_addr(mac.sa_data)) {
|
||||||
pr_warn("etop: invalid MAC, using random\n");
|
pr_warn("etop: invalid MAC, using random\n");
|
||||||
|
|
Loading…
Reference in New Issue