From 2a977a936c1d7e4576d37d74086ca510e2d7918c Mon Sep 17 00:00:00 2001 From: Jeff Garzik Date: Thu, 17 Nov 2005 05:44:44 -0500 Subject: [PATCH] --- yaml --- r: 14301 b: refs/heads/master c: a2c91a8819e315e9fd1aef3ff57badb6c1be3f80 h: refs/heads/master i: 14299: 0d4be456708bd2d3d20147a7a638dc5f07980333 v: v3 --- [refs] | 2 +- trunk/drivers/scsi/sata_mv.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 937c1885241c..290e7cc33ed9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 22374677d18c5eeefd3a283431d312b8c44fef02 +refs/heads/master: a2c91a8819e315e9fd1aef3ff57badb6c1be3f80 diff --git a/trunk/drivers/scsi/sata_mv.c b/trunk/drivers/scsi/sata_mv.c index ee0634da0872..ac184e60797e 100644 --- a/trunk/drivers/scsi/sata_mv.c +++ b/trunk/drivers/scsi/sata_mv.c @@ -1219,6 +1219,10 @@ static void mv_host_intr(struct ata_host_set *host_set, u32 relevant, handled++; } + if (ap && + (ap->flags & (ATA_FLAG_PORT_DISABLED | ATA_FLAG_NOINTR))) + continue; + err_mask = ac_err_mask(ata_status); shift = port << 1; /* (port * 2) */ @@ -1237,7 +1241,8 @@ static void mv_host_intr(struct ata_host_set *host_set, u32 relevant, VPRINTK("port %u IRQ found for qc, " "ata_status 0x%x\n", port,ata_status); /* mark qc status appropriately */ - ata_qc_complete(qc, err_mask); + if (!(qc->tf.ctl & ATA_NIEN)) + ata_qc_complete(qc, err_mask); } } }