Browse Source

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>
Ben Greear 12 years ago
parent
commit
6f1f56ea43
1 changed files with 2 additions and 2 deletions
  1. 2 2
      drivers/net/wireless/ath/ath10k/core.c

+ 2 - 2
drivers/net/wireless/ath/ath10k/core.c

@@ -738,8 +738,6 @@ EXPORT_SYMBOL(ath10k_core_create);
 
 
 void ath10k_core_destroy(struct ath10k *ar)
 void ath10k_core_destroy(struct ath10k *ar)
 {
 {
-	ath10k_debug_destroy(ar);
-
 	flush_workqueue(ar->workqueue);
 	flush_workqueue(ar->workqueue);
 	destroy_workqueue(ar->workqueue);
 	destroy_workqueue(ar->workqueue);
 
 
@@ -986,6 +984,8 @@ void ath10k_core_unregister(struct ath10k *ar)
 	ath10k_mac_unregister(ar);
 	ath10k_mac_unregister(ar);
 
 
 	ath10k_core_free_firmware_files(ar);
 	ath10k_core_free_firmware_files(ar);
+
+	ath10k_debug_destroy(ar);
 }
 }
 EXPORT_SYMBOL(ath10k_core_unregister);
 EXPORT_SYMBOL(ath10k_core_unregister);