Re: linux acpi (thunderbolt? bug)

From: Randy Dunlap
Date: Mon Feb 19 2018 - 12:46:28 EST


On 02/19/18 09:26, Thomas Gleixner wrote:
> On Mon, 19 Feb 2018, Randy Dunlap wrote:
>
>> On 02/19/18 06:51, Thomas Gleixner wrote:
>>> } else {
>>> + /*
>>> + * Offline case: The current vector needs to be released in
>>> + * the matrix allocator.
>>> + */
>>> + if (apicd->vector &&
>>
>> Drop the "apicd->vector &&" ? (redundant)
>
> No. The else path is entered when
>
> apicd->vector == 0
>
> or
>
> apicd->cpu is offline
>
> So we need to check here for vector != 0 as otherwise we'd free vector 0
> which is invalid. I'll add a comment explaining the mess.

I just need more coffee. I read the != (below) as ==.
:(

>>> + apicd->vector != MANAGED_IRQ_SHUTDOWN_VECTOR) {
>>> + irq_matrix_free(vector_matrix, apicd->cpu,
>>> + apicd->vector, managed);
>>> + }
>>> apicd->prev_vector = 0;
>>> }


--
~Randy