From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bartlomiej Zolnierkiewicz Subject: [PATCH 39/86] pata_it8213: fix wrong MWDMA timings being programmed Date: Wed, 25 Nov 2009 18:06:58 +0100 Message-ID: <20091125170658.5446.74178.sendpatchset@localhost> References: <20091125170218.5446.13513.sendpatchset@localhost> Return-path: In-Reply-To: <20091125170218.5446.13513.sendpatchset@localhost> Sender: linux-kernel-owner@vger.kernel.org To: linux-ide@vger.kernel.org Cc: Bartlomiej Zolnierkiewicz , linux-kernel@vger.kernel.org List-Id: linux-ide@vger.kernel.org From: Bartlomiej Zolnierkiewicz Subject: [PATCH] pata_it8213: fix wrong MWDMA timings being programmed Clear old MWDMA timings before programming new ones (IT8213 is a single port host so there is no need to check ap->port_no). This change should be safe as this is how we have been doing things in IDE it8213 host driver for years. Signed-off-by: Bartlomiej Zolnierkiewicz --- drivers/ata/pata_it8213.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: b/drivers/ata/pata_it8213.c =================================================================== --- a/drivers/ata/pata_it8213.c +++ b/drivers/ata/pata_it8213.c @@ -211,7 +211,7 @@ static void it8213_set_dmamode (struct a master_data &= 0xFF4F; /* Mask out IORDY|TIME1|DMAONLY */ master_data |= control << 4; pci_read_config_byte(dev, 0x44, &slave_data); - slave_data &= (0x0F + 0xE1 * ap->port_no); + slave_data &= 0xF0; /* Load the matching timing */ slave_data |= ((timings[pio][0] << 2) | timings[pio][1]) << (ap->port_no ? 4 : 0); pci_write_config_byte(dev, 0x44, slave_data);