Re: [PATCH v1 3/4] spi/xilinx: Simplify irq allocation

From: Michal Simek
Date: Tue Jul 09 2013 - 10:53:51 EST


On 07/09/2013 04:47 PM, Mark Brown wrote:
> On Tue, Jul 09, 2013 at 04:15:13PM +0200, Michal Simek wrote:
>
>> 4. spi_master_release()
>> 5. devres_release() with irq
>
>> If interrupt happends between 4 and 5 than it can be the problem.
>> Do I understand you correctly?
>
> Yes.

great.

>
>> If this is problematic case we can disable local and global interrupts
>> and add it between 2 and 3 or 3-4.
>> /* Disable all the interrupts just in case */
>> xspi->write_fn(0, regs_base + XIPIF_V123B_IIER_OFFSET);
>> /* Disable the global IPIF interrupt */
>> xspi->write_fn(0, regs_base + XIPIF_V123B_DGIER_OFFSET);
>
>> What do you think about this solution?
>
> That's fine, though if just manually freeing the IRQ works that's also
> OK...

yeah.


>> I have also tried to run one thing with and without this patch
>> and the results are below.
>
>> When I add this irq disable function between 1 and 2 then
>> module removing stucks.
>
> You'll need to wait until the device is quiesced at least if it's
> relying on the interrupt to complete operations.
>

ok. Will send v2 of this patch.

Thanks,
Michal

Attachment: signature.asc
Description: OpenPGP digital signature