+++ /dev/null
---- 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)) {