diff options
author | David S. Miller <davem@davemloft.net> | 2017-01-30 15:19:23 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-01-30 15:19:23 -0500 |
commit | 051a2e0860cd1554fda6beba36487b23252fd3c6 (patch) | |
tree | 9032e9f090b1d25dc801af0b277debbaf3426ec2 | |
parent | 4af0e5bb95ee3ba5ea4bd7dbb94e1648a5279cc9 (diff) | |
parent | 2b1d530cb3157f828fcaadd259613f59db3c6d1c (diff) |
Merge tag 'wireless-drivers-for-davem-2017-01-29' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers
Kalle Valo says:
====================
wireless-drivers fixes for 4.10
Most important here are fixes to two iwlwifi crashes, but there's also
a firmware naming fix for iwlwifi and a revert of an older bcma patch.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | MAINTAINERS | 1 | ||||
-rw-r--r-- | drivers/bcma/bcma_private.h | 3 | ||||
-rw-r--r-- | drivers/bcma/driver_chipcommon.c | 11 | ||||
-rw-r--r-- | drivers/bcma/driver_mips.c | 3 | ||||
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/iwl-8000.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/sta.c | 7 | ||||
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/tt.c | 12 |
7 files changed, 22 insertions, 17 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index 5f10c28b2e15..3960e7faaa99 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
@@ -10195,7 +10195,6 @@ F: drivers/media/tuners/qt1010* | |||
10195 | QUALCOMM ATHEROS ATH9K WIRELESS DRIVER | 10195 | QUALCOMM ATHEROS ATH9K WIRELESS DRIVER |
10196 | M: QCA ath9k Development <ath9k-devel@qca.qualcomm.com> | 10196 | M: QCA ath9k Development <ath9k-devel@qca.qualcomm.com> |
10197 | L: linux-wireless@vger.kernel.org | 10197 | L: linux-wireless@vger.kernel.org |
10198 | L: ath9k-devel@lists.ath9k.org | ||
10199 | W: http://wireless.kernel.org/en/users/Drivers/ath9k | 10198 | W: http://wireless.kernel.org/en/users/Drivers/ath9k |
10200 | S: Supported | 10199 | S: Supported |
10201 | F: drivers/net/wireless/ath/ath9k/ | 10200 | F: drivers/net/wireless/ath/ath9k/ |
diff --git a/drivers/bcma/bcma_private.h b/drivers/bcma/bcma_private.h index f642c4264c27..168fa175d65a 100644 --- a/drivers/bcma/bcma_private.h +++ b/drivers/bcma/bcma_private.h | |||
@@ -45,6 +45,9 @@ int bcma_sprom_get(struct bcma_bus *bus); | |||
45 | void bcma_core_chipcommon_early_init(struct bcma_drv_cc *cc); | 45 | void bcma_core_chipcommon_early_init(struct bcma_drv_cc *cc); |
46 | void bcma_core_chipcommon_init(struct bcma_drv_cc *cc); | 46 | void bcma_core_chipcommon_init(struct bcma_drv_cc *cc); |
47 | void bcma_chipco_bcm4331_ext_pa_lines_ctl(struct bcma_drv_cc *cc, bool enable); | 47 | void bcma_chipco_bcm4331_ext_pa_lines_ctl(struct bcma_drv_cc *cc, bool enable); |
48 | #ifdef CONFIG_BCMA_DRIVER_MIPS | ||
49 | void bcma_chipco_serial_init(struct bcma_drv_cc *cc); | ||
50 | #endif /* CONFIG_BCMA_DRIVER_MIPS */ | ||
48 | 51 | ||
49 | /* driver_chipcommon_b.c */ | 52 | /* driver_chipcommon_b.c */ |
50 | int bcma_core_chipcommon_b_init(struct bcma_drv_cc_b *ccb); | 53 | int bcma_core_chipcommon_b_init(struct bcma_drv_cc_b *ccb); |
diff --git a/drivers/bcma/driver_chipcommon.c b/drivers/bcma/driver_chipcommon.c index b4f6520e74f0..62f5bfa5065d 100644 --- a/drivers/bcma/driver_chipcommon.c +++ b/drivers/bcma/driver_chipcommon.c | |||
@@ -15,8 +15,6 @@ | |||
15 | #include <linux/platform_device.h> | 15 | #include <linux/platform_device.h> |
16 | #include <linux/bcma/bcma.h> | 16 | #include <linux/bcma/bcma.h> |
17 | 17 | ||
18 | static void bcma_chipco_serial_init(struct bcma_drv_cc *cc); | ||
19 | |||
20 | static inline u32 bcma_cc_write32_masked(struct bcma_drv_cc *cc, u16 offset, | 18 | static inline u32 bcma_cc_write32_masked(struct bcma_drv_cc *cc, u16 offset, |
21 | u32 mask, u32 value) | 19 | u32 mask, u32 value) |
22 | { | 20 | { |
@@ -186,9 +184,6 @@ void bcma_core_chipcommon_early_init(struct bcma_drv_cc *cc) | |||
186 | if (cc->capabilities & BCMA_CC_CAP_PMU) | 184 | if (cc->capabilities & BCMA_CC_CAP_PMU) |
187 | bcma_pmu_early_init(cc); | 185 | bcma_pmu_early_init(cc); |
188 | 186 | ||
189 | if (IS_BUILTIN(CONFIG_BCM47XX) && bus->hosttype == BCMA_HOSTTYPE_SOC) | ||
190 | bcma_chipco_serial_init(cc); | ||
191 | |||
192 | if (bus->hosttype == BCMA_HOSTTYPE_SOC) | 187 | if (bus->hosttype == BCMA_HOSTTYPE_SOC) |
193 | bcma_core_chipcommon_flash_detect(cc); | 188 | bcma_core_chipcommon_flash_detect(cc); |
194 | 189 | ||
@@ -378,9 +373,9 @@ u32 bcma_chipco_gpio_pulldown(struct bcma_drv_cc *cc, u32 mask, u32 value) | |||
378 | return res; | 373 | return res; |
379 | } | 374 | } |
380 | 375 | ||
381 | static void bcma_chipco_serial_init(struct bcma_drv_cc *cc) | 376 | #ifdef CONFIG_BCMA_DRIVER_MIPS |
377 | void bcma_chipco_serial_init(struct bcma_drv_cc *cc) | ||
382 | { | 378 | { |
383 | #if IS_BUILTIN(CONFIG_BCM47XX) | ||
384 | unsigned int irq; | 379 | unsigned int irq; |
385 | u32 baud_base; | 380 | u32 baud_base; |
386 | u32 i; | 381 | u32 i; |
@@ -422,5 +417,5 @@ static void bcma_chipco_serial_init(struct bcma_drv_cc *cc) | |||
422 | ports[i].baud_base = baud_base; | 417 | ports[i].baud_base = baud_base; |
423 | ports[i].reg_shift = 0; | 418 | ports[i].reg_shift = 0; |
424 | } | 419 | } |
425 | #endif /* CONFIG_BCM47XX */ | ||
426 | } | 420 | } |
421 | #endif /* CONFIG_BCMA_DRIVER_MIPS */ | ||
diff --git a/drivers/bcma/driver_mips.c b/drivers/bcma/driver_mips.c index 96f171328200..89af807cf29c 100644 --- a/drivers/bcma/driver_mips.c +++ b/drivers/bcma/driver_mips.c | |||
@@ -278,9 +278,12 @@ static void bcma_core_mips_nvram_init(struct bcma_drv_mips *mcore) | |||
278 | 278 | ||
279 | void bcma_core_mips_early_init(struct bcma_drv_mips *mcore) | 279 | void bcma_core_mips_early_init(struct bcma_drv_mips *mcore) |
280 | { | 280 | { |
281 | struct bcma_bus *bus = mcore->core->bus; | ||
282 | |||
281 | if (mcore->early_setup_done) | 283 | if (mcore->early_setup_done) |
282 | return; | 284 | return; |
283 | 285 | ||
286 | bcma_chipco_serial_init(&bus->drv_cc); | ||
284 | bcma_core_mips_nvram_init(mcore); | 287 | bcma_core_mips_nvram_init(mcore); |
285 | 288 | ||
286 | mcore->early_setup_done = true; | 289 | mcore->early_setup_done = true; |
diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-8000.c b/drivers/net/wireless/intel/iwlwifi/iwl-8000.c index d02ca1491d16..8d3e53fac1da 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-8000.c +++ b/drivers/net/wireless/intel/iwlwifi/iwl-8000.c | |||
@@ -91,7 +91,7 @@ | |||
91 | 91 | ||
92 | #define IWL8000_FW_PRE "iwlwifi-8000C-" | 92 | #define IWL8000_FW_PRE "iwlwifi-8000C-" |
93 | #define IWL8000_MODULE_FIRMWARE(api) \ | 93 | #define IWL8000_MODULE_FIRMWARE(api) \ |
94 | IWL8000_FW_PRE "-" __stringify(api) ".ucode" | 94 | IWL8000_FW_PRE __stringify(api) ".ucode" |
95 | 95 | ||
96 | #define IWL8265_FW_PRE "iwlwifi-8265-" | 96 | #define IWL8265_FW_PRE "iwlwifi-8265-" |
97 | #define IWL8265_MODULE_FIRMWARE(api) \ | 97 | #define IWL8265_MODULE_FIRMWARE(api) \ |
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/sta.c b/drivers/net/wireless/intel/iwlwifi/mvm/sta.c index 636c8b03e318..09e9e2e3ed04 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/sta.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/sta.c | |||
@@ -1164,9 +1164,10 @@ static void iwl_mvm_realloc_queues_after_restart(struct iwl_mvm *mvm, | |||
1164 | .frame_limit = IWL_FRAME_LIMIT, | 1164 | .frame_limit = IWL_FRAME_LIMIT, |
1165 | }; | 1165 | }; |
1166 | 1166 | ||
1167 | /* Make sure reserved queue is still marked as such (or allocated) */ | 1167 | /* Make sure reserved queue is still marked as such (if allocated) */ |
1168 | mvm->queue_info[mvm_sta->reserved_queue].status = | 1168 | if (mvm_sta->reserved_queue != IEEE80211_INVAL_HW_QUEUE) |
1169 | IWL_MVM_QUEUE_RESERVED; | 1169 | mvm->queue_info[mvm_sta->reserved_queue].status = |
1170 | IWL_MVM_QUEUE_RESERVED; | ||
1170 | 1171 | ||
1171 | for (i = 0; i <= IWL_MAX_TID_COUNT; i++) { | 1172 | for (i = 0; i <= IWL_MAX_TID_COUNT; i++) { |
1172 | struct iwl_mvm_tid_data *tid_data = &mvm_sta->tid_data[i]; | 1173 | struct iwl_mvm_tid_data *tid_data = &mvm_sta->tid_data[i]; |
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c index 63a051be832e..bec7d9c46087 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c | |||
@@ -843,8 +843,10 @@ static void iwl_mvm_thermal_zone_unregister(struct iwl_mvm *mvm) | |||
843 | return; | 843 | return; |
844 | 844 | ||
845 | IWL_DEBUG_TEMP(mvm, "Thermal zone device unregister\n"); | 845 | IWL_DEBUG_TEMP(mvm, "Thermal zone device unregister\n"); |
846 | thermal_zone_device_unregister(mvm->tz_device.tzone); | 846 | if (mvm->tz_device.tzone) { |
847 | mvm->tz_device.tzone = NULL; | 847 | thermal_zone_device_unregister(mvm->tz_device.tzone); |
848 | mvm->tz_device.tzone = NULL; | ||
849 | } | ||
848 | } | 850 | } |
849 | 851 | ||
850 | static void iwl_mvm_cooling_device_unregister(struct iwl_mvm *mvm) | 852 | static void iwl_mvm_cooling_device_unregister(struct iwl_mvm *mvm) |
@@ -853,8 +855,10 @@ static void iwl_mvm_cooling_device_unregister(struct iwl_mvm *mvm) | |||
853 | return; | 855 | return; |
854 | 856 | ||
855 | IWL_DEBUG_TEMP(mvm, "Cooling device unregister\n"); | 857 | IWL_DEBUG_TEMP(mvm, "Cooling device unregister\n"); |
856 | thermal_cooling_device_unregister(mvm->cooling_dev.cdev); | 858 | if (mvm->cooling_dev.cdev) { |
857 | mvm->cooling_dev.cdev = NULL; | 859 | thermal_cooling_device_unregister(mvm->cooling_dev.cdev); |
860 | mvm->cooling_dev.cdev = NULL; | ||
861 | } | ||
858 | } | 862 | } |
859 | #endif /* CONFIG_THERMAL */ | 863 | #endif /* CONFIG_THERMAL */ |
860 | 864 | ||