aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/607-rt2x00-add_platform_data_mac_addr.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/607-rt2x00-add_platform_data_mac_addr.patch')
-rw-r--r--package/kernel/mac80211/patches/607-rt2x00-add_platform_data_mac_addr.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/607-rt2x00-add_platform_data_mac_addr.patch b/package/kernel/mac80211/patches/607-rt2x00-add_platform_data_mac_addr.patch
new file mode 100644
index 0000000000..5a3f858090
--- /dev/null
+++ b/package/kernel/mac80211/patches/607-rt2x00-add_platform_data_mac_addr.patch
@@ -0,0 +1,26 @@
+--- a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
++++ b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
+@@ -929,8 +929,13 @@ static void rt2x00lib_rate(struct ieee80
+
+ void rt2x00lib_set_mac_address(struct rt2x00_dev *rt2x00dev, u8 *eeprom_mac_addr)
+ {
++ struct rt2x00_platform_data *pdata;
+ const char *mac_addr;
+
++ pdata = rt2x00dev->dev->platform_data;
++ if (pdata && pdata->mac_address)
++ ether_addr_copy(eeprom_mac_addr, pdata->mac_address);
++
+ mac_addr = of_get_mac_address(rt2x00dev->dev->of_node);
+ if (mac_addr)
+ ether_addr_copy(eeprom_mac_addr, mac_addr);
+--- a/include/linux/rt2x00_platform.h
++++ b/include/linux/rt2x00_platform.h
+@@ -14,6 +14,7 @@
+
+ struct rt2x00_platform_data {
+ char *eeprom_file_name;
++ const u8 *mac_address;
+
+ int disable_2ghz;
+ int disable_5ghz;