1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-07-02 21:33:16 +03:00
openwrt-xburst/package/madwifi/patches/470-mac_addresss_from_ath5k_platform_data.patch
juhosg 9543368113 package/madwifi: apply AR71XX PCI workaround on ATH79 as well
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30414 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-10 13:16:50 +00:00

37 lines
989 B
Diff

--- a/ath/if_ath.c
+++ b/ath/if_ath.c
@@ -63,6 +63,8 @@
#include <linux/rtnetlink.h>
#include <linux/time.h>
#include <linux/pci.h>
+#include <linux/device.h>
+#include <linux/ath5k_platform.h>
#include <asm/uaccess.h>
#include "if_ethersubr.h" /* for ETHER_IS_MULTICAST */
@@ -587,6 +589,10 @@ ath_attach(u_int16_t devid, struct net_d
unsigned int i;
int autocreatemode = -1;
u_int8_t csz;
+#ifdef ATH_PCI
+ struct ath5k_platform_data *pdata;
+ struct pci_dev *pdev;
+#endif
sc->devid = devid;
#ifdef AR_DEBUG
@@ -648,6 +654,13 @@ ath_attach(u_int16_t devid, struct net_d
}
sc->sc_ah = ah;
+#ifdef ATH_PCI
+ /* set MAC from ath_platform_data */
+ pdev = (struct pci_dev *)sc->sc_bdev;
+ pdata = pdev->dev.platform_data;
+ if (pdata && pdata->macaddr)
+ ath_hal_setmac(ah, pdata->macaddr);
+#endif
/* WAR for AR7100 PCI bug */
#if defined(CONFIG_ATHEROS_AR71XX) || defined(CONFIG_ATH79)
if ((ar_device(sc->devid) >= 5210) && (ar_device(sc->devid) < 5416)) {