diff options
author | Ben Greear <greearb@candelatech.com> | 2013-11-04 12:18:16 -0500 |
---|---|---|
committer | Kalle Valo <kvalo@qca.qualcomm.com> | 2013-11-08 04:29:46 -0500 |
commit | 6f1f56ea43223dd80e238564d31bbc31c65234dd (patch) | |
tree | 7a9e6b1fdd833f397a16ffbc7a65e225e7580be3 /drivers/net | |
parent | 12eb087939d11af6b5a8228807d1428535aedb3b (diff) |
ath10k: Fix un-initialized debug objects.
If the 'ar' registration fails early, the debug
objects were not initialized, and trouble ensued when
the object was later destroyed and the un-initialized
objects were accessed.
Per Kalle's suggestion, move the debug_destroy to the
core_unregister method.
Signed-off-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/ath/ath10k/core.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c index 2a360cac4cee..7d8687694360 100644 --- a/drivers/net/wireless/ath/ath10k/core.c +++ b/drivers/net/wireless/ath/ath10k/core.c | |||
@@ -738,8 +738,6 @@ EXPORT_SYMBOL(ath10k_core_create); | |||
738 | 738 | ||
739 | void ath10k_core_destroy(struct ath10k *ar) | 739 | void ath10k_core_destroy(struct ath10k *ar) |
740 | { | 740 | { |
741 | ath10k_debug_destroy(ar); | ||
742 | |||
743 | flush_workqueue(ar->workqueue); | 741 | flush_workqueue(ar->workqueue); |
744 | destroy_workqueue(ar->workqueue); | 742 | destroy_workqueue(ar->workqueue); |
745 | 743 | ||
@@ -986,6 +984,8 @@ void ath10k_core_unregister(struct ath10k *ar) | |||
986 | ath10k_mac_unregister(ar); | 984 | ath10k_mac_unregister(ar); |
987 | 985 | ||
988 | ath10k_core_free_firmware_files(ar); | 986 | ath10k_core_free_firmware_files(ar); |
987 | |||
988 | ath10k_debug_destroy(ar); | ||
989 | } | 989 | } |
990 | EXPORT_SYMBOL(ath10k_core_unregister); | 990 | EXPORT_SYMBOL(ath10k_core_unregister); |
991 | 991 | ||