[PATCH] ath10k: Fix un-initialized debug objects.

Kalle Valo kvalo at qca.qualcomm.com
Fri Oct 25 23:58:33 EDT 2013


Ben Greear <greearb at candelatech.com> writes:

> On 10/25/2013 12:49 AM, Kalle Valo wrote:
>> greearb at candelatech.com writes:
>
>>>   	INIT_WORK(&ar->restart_work, ath10k_core_restart);
>>>
>>> +	ath10k_debug_init(ar);
>>
>> For symmetry would it make more sense to move ath10k_debug_destroy() to
>> ath10k_core_unregister()? That way we could avoid adding a new function.
>>
>
> In my opinion, you should initialize such things as early as possible
> so you don't have to worry so much about the various error cases leaving
> things un-initialized.  I believe my patch accomplished that.

Well, I again like symmetry and simplicity.

> What new function are you planning to avoid?

I would prefer not to create ath10k_debug_init().

What I was trying to suggest is this, I think it should fix the bug you
are seeing:

--- 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);
 
 void ath10k_core_destroy(struct ath10k *ar)
 {
-       ath10k_debug_destroy(ar);
-
        flush_workqueue(ar->workqueue);
        destroy_workqueue(ar->workqueue);
 
@@ -986,6 +984,8 @@ void ath10k_core_unregister(struct ath10k *ar)
        ath10k_mac_unregister(ar);
 
        ath10k_core_free_firmware_files(ar);
+
+       ath10k_debug_destroy(ar);
 }
 EXPORT_SYMBOL(ath10k_core_unregister);

-- 
Kalle Valo



More information about the ath10k mailing list