X-Git-Url: https://git.archive.openwrt.org/?p=openwrt.git;a=blobdiff_plain;f=package%2Fmac80211%2Fpatches%2F603-rt2x00-introduce-rt2x00eeprom.patch;h=7c5b1412934d24426de13a2a27c0332f798c12e5;hp=0fb42f9fed9d510081babfac313ae381f6af8c85;hb=b35c47cc3abb33663258cf7a416f18e303f7379b;hpb=e194f60a49979616867b44d249156e37728b3cbd diff --git a/package/mac80211/patches/603-rt2x00-introduce-rt2x00eeprom.patch b/package/mac80211/patches/603-rt2x00-introduce-rt2x00eeprom.patch index 0fb42f9fed..7c5b141293 100644 --- a/package/mac80211/patches/603-rt2x00-introduce-rt2x00eeprom.patch +++ b/package/mac80211/patches/603-rt2x00-introduce-rt2x00eeprom.patch @@ -101,7 +101,7 @@ +} --- a/drivers/net/wireless/rt2x00/rt2x00.h +++ b/drivers/net/wireless/rt2x00/rt2x00.h -@@ -554,6 +554,7 @@ struct rt2x00lib_ops { +@@ -561,6 +561,7 @@ struct rt2x00lib_ops { const u8 *data, const size_t len); int (*load_firmware) (struct rt2x00_dev *rt2x00dev, const u8 *data, const size_t len); @@ -109,7 +109,7 @@ /* * Device initialization/deinitialization handlers. -@@ -705,6 +706,7 @@ enum rt2x00_capability_flags { +@@ -721,6 +722,7 @@ enum rt2x00_capability_flags { REQUIRE_SW_SEQNO, REQUIRE_HT_TX_DESC, REQUIRE_PS_AUTOWAKE, @@ -117,7 +117,7 @@ /* * Capabilities -@@ -961,6 +963,11 @@ struct rt2x00_dev { +@@ -990,6 +992,11 @@ struct rt2x00_dev { const struct firmware *fw; /* @@ -131,7 +131,7 @@ DECLARE_KFIFO_PTR(txstatus_fifo, u32); --- a/drivers/net/wireless/rt2x00/rt2x00lib.h +++ b/drivers/net/wireless/rt2x00/rt2x00lib.h -@@ -309,6 +309,22 @@ static inline void rt2x00lib_free_firmwa +@@ -322,6 +322,22 @@ static inline void rt2x00lib_free_firmwa #endif /* CONFIG_RT2X00_LIB_FIRMWARE */ /* @@ -164,7 +164,7 @@ select RT2X00_LIB_CRYPTO select CRC_CCITT select EEPROM_93CX6 -@@ -204,6 +205,9 @@ config RT2X00_LIB_FIRMWARE +@@ -212,6 +213,9 @@ config RT2X00_LIB_FIRMWARE config RT2X00_LIB_CRYPTO boolean @@ -186,7 +186,7 @@ obj-$(CONFIG_RT2X00_LIB_PCI) += rt2x00pci.o --- a/drivers/net/wireless/rt2x00/rt2800pci.c +++ b/drivers/net/wireless/rt2x00/rt2800pci.c -@@ -84,20 +84,10 @@ static void rt2800pci_mcu_status(struct +@@ -89,20 +89,10 @@ static void rt2800pci_mcu_status(struct rt2x00pci_register_write(rt2x00dev, H2M_MAILBOX_CID, ~0); } @@ -208,7 +208,7 @@ #ifdef CONFIG_PCI static void rt2800pci_eepromregister_read(struct eeprom_93cx6 *eeprom) -@@ -311,6 +301,20 @@ static int rt2800pci_write_firmware(stru +@@ -322,6 +312,20 @@ static int rt2800pci_write_firmware(stru } /* @@ -229,7 +229,7 @@ * Initialization functions. */ static bool rt2800pci_get_entry_state(struct queue_entry *entry) -@@ -1052,6 +1056,7 @@ static const struct rt2x00lib_ops rt2800 +@@ -1033,6 +1037,7 @@ static const struct rt2x00lib_ops rt2800 .get_firmware_name = rt2800pci_get_firmware_name, .check_firmware = rt2800_check_firmware, .load_firmware = rt2800_load_firmware, @@ -239,9 +239,9 @@ .get_entry_state = rt2800pci_get_entry_state, --- a/drivers/net/wireless/rt2x00/rt2x00dev.c +++ b/drivers/net/wireless/rt2x00/rt2x00dev.c -@@ -1145,6 +1145,10 @@ int rt2x00lib_probe_dev(struct rt2x00_de - BIT(NL80211_IFTYPE_MESH_POINT) | - BIT(NL80211_IFTYPE_WDS); +@@ -1206,6 +1206,10 @@ int rt2x00lib_probe_dev(struct rt2x00_de + + rt2x00dev->hw->wiphy->flags |= WIPHY_FLAG_IBSS_RSN; + retval = rt2x00lib_load_eeprom_file(rt2x00dev); + if (retval) @@ -250,10 +250,10 @@ /* * Initialize work. */ -@@ -1261,6 +1265,11 @@ void rt2x00lib_remove_dev(struct rt2x00_ - * Free queue structures. +@@ -1330,6 +1334,11 @@ void rt2x00lib_remove_dev(struct rt2x00_ */ - rt2x00queue_free(rt2x00dev); + if (rt2x00dev->drv_data) + kfree(rt2x00dev->drv_data); + + /* + * Free EEPROM image.