Re: [PATCH 1/2] dmaengine: axi-dmac: Use devm_request_irq()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Lars,

On Thu, Apr 26, 2018 at 9:26 AM, Lars-Peter Clausen <lars@xxxxxxxxxx> wrote:
> On 04/26/2018 06:12 PM, Moritz Fischer wrote:
>> Use devm_request_irq() instead of request_irq() to request the IRQ.
>>
>> Signed-off-by: Moritz Fischer <mdf@xxxxxxxxxx>
>> ---
>>
>> Hi Lars,
>>
>> was there a specific reason not to use devm_request_irq() ?
>
> Yes, it is wrong :)
>
> This reorders the sequence in the remove() function. We really need to free
> the IRQ at the point in the sequence where it is at the moment. We need to
> call tasklet_kill() after the free_irq() function has been called, otherwise
> the tasklet can be re-scheduled and we might end up with a use after free.
>
> But also if we disable the clock to the core before the IRQ is freed we
> might end up trying to access the register map while the clock is off and
> then never get a response and block the AXI bus.
>
> This is all very very unlikely to ever happen, but still I'd like to have
> correct code.

Thanks for the explanation. I'll drop this and resubmit [2/2] without
this change.

- Moritz
--
To unsubscribe from this list: send the line "unsubscribe dmaengine" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux