From: John Crispin Date: Thu, 12 Feb 2015 09:17:04 +0000 (+0000) Subject: lantiq: fix mac addr assignment inside lantiq_etop X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=1eb616764e5bb799b5a62fd717cf8cd0c07281f9;p=openwrt%2Fstaging%2Fyousong.git lantiq: fix mac addr assignment inside lantiq_etop Signed-off-by: John Crispin SVN-Revision: 44420 --- diff --git a/target/linux/lantiq/patches-3.18/0035-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch b/target/linux/lantiq/patches-3.18/0035-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch index d7e1c0bc86..3854d3a6bd 100644 --- a/target/linux/lantiq/patches-3.18/0035-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch +++ b/target/linux/lantiq/patches-3.18/0035-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch @@ -30,7 +30,7 @@ Signed-off-by: John Crispin +#endif /* _PCI_ATH_FIXUP */ --- a/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_disable(unsigned int module); @@ -41,7 +41,7 @@ Signed-off-by: John Crispin #endif /* _LTQ_XWAY_H__ */ --- a/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 @@ -590,7 +590,7 @@ Signed-off-by: John Crispin +device_initcall(of_ralink_eeprom_init); --- a/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 rx_irq; @@ -599,15 +599,15 @@ Signed-off-by: John Crispin int mii_mode; spinlock_t lock; -@@ -840,7 +840,11 @@ ltq_etop_init(struct net_device *dev) +@@ -840,7 +840,11 @@ if (err) goto err_hw; - memcpy(&mac, &priv->pldata->mac, sizeof(struct sockaddr)); + if (priv->mac) -+ memcpy(&mac, priv->mac, sizeof(struct sockaddr)); ++ memcpy(&mac.sa_data, priv->mac, ETH_ALEN); + 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)) { pr_warn("etop: invalid MAC, using random\n");