From: Jeff Garzik Date: Tue, 17 Jan 2006 15:29:06 +0000 (-0500) Subject: Merge branch 'upstream' X-Git-Tag: v2.6.18-rc1~1079^2~98^2~13^2~64 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=ea9b395fe20ac74be788f415af2622ac8f0c35c7;p=linux-2.6-omap-h63xx.git Merge branch 'upstream' --- ea9b395fe20ac74be788f415af2622ac8f0c35c7 diff --cc drivers/scsi/sata_nv.c index 8fdb2336f6f,bbbb55eeb73..945194b7699 --- a/drivers/scsi/sata_nv.c +++ b/drivers/scsi/sata_nv.c @@@ -308,8 -313,12 +313,12 @@@ static irqreturn_t nv_interrupt (int ir struct ata_queued_cmd *qc; qc = ata_qc_from_tag(ap, ap->active_tag); - if (qc && (!(qc->tf.ctl & ATA_NIEN))) + if (qc && (!(qc->tf.flags & ATA_TFLAG_POLLING))) handled += ata_host_intr(ap, qc); + else + // No request pending? Clear interrupt status + // anyway, in case there's one pending. + ap->ops->check_status(ap); } } diff --cc include/linux/ata.h index f512104a1a3,94f77cce27f..29fa99bde2b --- a/include/linux/ata.h +++ b/include/linux/ata.h @@@ -192,7 -196,7 +196,8 @@@ enum ATA_TFLAG_DEVICE = (1 << 2), /* enable r/w to device reg */ ATA_TFLAG_WRITE = (1 << 3), /* data dir: host->dev==1 (write) */ ATA_TFLAG_LBA = (1 << 4), /* enable LBA */ - ATA_TFLAG_POLLING = (1 << 5), /* set nIEN to 1 and use polling */ + ATA_TFLAG_FUA = (1 << 5), /* enable FUA */ ++ ATA_TFLAG_POLLING = (1 << 6), /* set nIEN to 1 and use polling */ }; enum ata_tf_protocols {