ath11k: QCA6390 on Dell XPS 13 and kernel crashes

Kalle Valo kvalo at codeaurora.org
Wed Dec 9 10:50:35 EST 2020


wi nk <wink at technolu.st> writes:

> On Wed, Dec 9, 2020 at 4:35 PM Kalle Valo <kvalo at codeaurora.org> wrote:
>>
>> wi nk <wink at technolu.st> writes:
>>
>> > So I've managed to stabilise my system now, so either the race is
>> > gone, or I've done something to win it all the time.  So one of the
>> > avenues of racing I was chasing at first was in the ath11k driver
>> > itself.  There are a couple areas where the single/shared IRQ is being
>> > forcibly toggled in ways that the documentation says are not great
>> > (and the original patch was trying to avoid).  Fixing those didn't
>> > seem to have much impact on the stability of things (I've included
>> > those changes in my patch though).  After the last email I was
>> > thinking about the MHI side of things a bit more and found a number of
>> > call sites that my naive grepping had missed that do the same thing,
>> > but via acquiring a lock at the same time.  I modified all the calls
>> > to *_lock_irq and *_unlock_irq to the lock/unlock - save/restore
>> > variants that accept the flags parameter to capture state.  I've now
>> > booted and loaded the driver 10+ times without a single freeze or
>> > crash.  I'm not sure all of those modifications are necessary (ie:
>> > which things are re-entrant in this single interrupt operating mode vs
>> > which ones can use the simpler lock/unlock mechanisms), so I could use
>> > some advice/guidance there.
>> >
>> > Mitchell - if you want to grab this patch and try it, let me know how
>> > it goes and I can clean it up for the mailing list:
>> > https://github.com/w1nk/ath11k-debug/blob/master/one-irq-manage.patch
>> > (apply to ath11k-qca6390-bringup-202011301608)
>>
>> Wink, I want to ask more about your the very interesting
>> one-irq-manage.patch you wrote. Have you seen the "sched: RT throttling
>> activated" crash with that patch? If yes, how many times, for example 5
>> out of 10 times or something like that?
>>
>> Or is it so with one-irq-manage.patch the kernel doesn't crash at all? I
>> didn't quite understand the situation.
>>
>> --
>> https://patchwork.kernel.org/project/linux-wireless/list/
>>
>> https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
>
> Kalle,
>
>    Sorry for moving the thread :).

No problem, I'll just make extra questions to make sure that I'm
understanding things correctly :)

> So I've attempted 2 patches that seem to produce varying degrees of
> success. The single IRQ patch took the crashing behaviour from hard
> locking immediately, to that stuttering / RT throttling message
> consistently. So instead of hard locking 9/10 times and stuttering
> 1/10, it was inverted.

Ok, got it now.

> The second patch disabling the m2 transition (even without the single
> IRQ patch) seems to have resolved the issues altogether, but at the
> expense of disabling this m2 state, which I don't have much idea of
> the consequences..

Sorry, I have missed that. What second patch are you talking about?

Also can you share your /proc/interrupts in full?

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches



More information about the ath11k mailing list