Re: [PATCH] libata: disable_irq() during polling IDENTIFY

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

 



Albert Lee wrote:
>> Good to know it works.  With or without nIEN, I think this change is a
>> good thing to have.  IRQ handler shouldn't interfere with polling as
>> both acquire lock during operation. 
> 
> This reminds me of a possible issue with the patch:
> Previously the polling code assumes that the interrupt handler won't interfere
> with it and the polling code runs without holding ap->lock.
> However, with the above patch, the interrupt handler might read the
> Status register when the polling code is transfering data, etc. from the port.
> Would this cause trouble to the ATA/ATAPI devices?
> 
> Should we have something like ATA_PFLAG_HSM_BUSY below, such that the interrupt
> handler won't read the Status register when HSM is busy accessing the port?

Right, I forgot about that.  Wouldn't just grabbing port lock during PIO
be simpler?  There is some downside (IRQ latency) but also there are
controllers which get upset if PIO data transfer is interrupted by IRQ
from other devices.

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

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux