[PATCH] sata_nv, spurious interrupts at system startup with MAXTOR 6H500F0 drive
authorAndrew Chew <achew@nvidia.com>
Thu, 5 Jan 2006 03:13:04 +0000 (19:13 -0800)
committerJeff Garzik <jgarzik@pobox.com>
Mon, 9 Jan 2006 15:42:06 +0000 (10:42 -0500)
commitb887030aec0971a47ca97a18e93ff446bc7d049e
tree77ecea6cce7d8047ad39feea2d0b0cbff1bdbad2
parent5367f2d67c7d0bf1faae90e6e7b4e2ac3c9b5e0f
[PATCH] sata_nv, spurious interrupts at system startup with MAXTOR 6H500F0 drive

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: Jeff Garzik <jgarzik@pobox.com>
drivers/scsi/sata_nv.c