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

Ben Greear greearb at candelatech.com
Mon Oct 28 12:43:35 EDT 2013


On 10/28/2013 03:10 AM, Kalle Valo wrote:
> Ben Greear <greearb at candelatech.com> writes:
> 
>> On 10/25/2013 08:58 PM, Kalle Valo wrote:
>>> 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:
>>
>> I don't think so.  The problem is that the init logic can fail before
>> the debug logic is ever initialized, so any cleanup that attempts to
>> access the debug logic can blow up.
> 
> Please look again. My idea was to fix the logic so that
> ath10k_debug_destroy() is called only if ath10k_debug_create() succeeds.

Ok, I think your patch will work.  I'll back mine out when you push
yours and will let you know if I find any more problems in this
area.

Thanks,
Ben

-- 
Ben Greear <greearb at candelatech.com>
Candela Technologies Inc  http://www.candelatech.com




More information about the ath10k mailing list