• Andrew Chew's avatar
    [PATCH] sata_nv, spurious interrupts at system startup with MAXTOR 6H500F0 drive · b887030a
    Andrew Chew authored
    
    
    This patch works around a problem with spurious interrupts seen at boot time when
    a MAXTOR 6H500F0 drive is present.  An ATA interrupt condition is mysteriously
    present at start of day.  If we took too long in issuing the first command,
    the kernel would basically get tired of the spurious interrupts and turn the interrupt
    off.  Issuing the first command essentially causes the interrupt condition to
    get acknowledged.
    
    I haven't seen this happen with any other drives.
    
    What I basically do is ack ATA status by reading it regardless of whether we're
    expecting to have to handle an interrupt.  This clears the start-of-day anomalous
    interrupt condition, and keeps the kernel from disabling that interrupt due to
    too many spurious interrupts.
    
    Also, I fixed a bug where hotplug interrupts weren't getting acknowledged as handled
    in the ISR.  This was not the cause of the spurious interrupts, but it's the right
    thing to do anyway.
    
    Signed-Off-By: Andrew Chew
    Signed-off-by: default avatarJeff Garzik <jgarzik@pobox.com>
    b887030a