aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/ide/pci/aec62xx.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/drivers/ide/pci/aec62xx.c b/drivers/ide/pci/aec62xx.c
index 3f03acea5987..be0d077dbbdf 100644
--- a/drivers/ide/pci/aec62xx.c
+++ b/drivers/ide/pci/aec62xx.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * linux/drivers/ide/pci/aec62xx.c Version 0.25 Aug 1, 2007 2 * linux/drivers/ide/pci/aec62xx.c Version 0.26 Sep 1, 2007
3 * 3 *
4 * Copyright (C) 1999-2002 Andre Hedrick <andre@linux-ide.org> 4 * Copyright (C) 1999-2002 Andre Hedrick <andre@linux-ide.org>
5 * Copyright (C) 2007 MontaVista Software, Inc. <source@mvista.com> 5 * Copyright (C) 2007 MontaVista Software, Inc. <source@mvista.com>
@@ -184,8 +184,6 @@ static unsigned int __devinit init_chipset_aec62xx(struct pci_dev *dev, const ch
184static void __devinit init_hwif_aec62xx(ide_hwif_t *hwif) 184static void __devinit init_hwif_aec62xx(ide_hwif_t *hwif)
185{ 185{
186 struct pci_dev *dev = hwif->pci_dev; 186 struct pci_dev *dev = hwif->pci_dev;
187 u8 reg54 = 0, mask = hwif->channel ? 0xf0 : 0x0f;
188 unsigned long flags;
189 187
190 hwif->set_pio_mode = &aec_set_pio_mode; 188 hwif->set_pio_mode = &aec_set_pio_mode;
191 189
@@ -203,12 +201,10 @@ static void __devinit init_hwif_aec62xx(ide_hwif_t *hwif)
203 201
204 hwif->dma_lost_irq = &aec62xx_dma_lost_irq; 202 hwif->dma_lost_irq = &aec62xx_dma_lost_irq;
205 203
206 if (dev->device == PCI_DEVICE_ID_ARTOP_ATP850UF) { 204 if (dev->device == PCI_DEVICE_ID_ARTOP_ATP850UF)
207 spin_lock_irqsave(&ide_lock, flags); 205 return;
208 pci_read_config_byte (dev, 0x54, &reg54); 206
209 pci_write_config_byte(dev, 0x54, (reg54 & ~mask)); 207 if (hwif->cbl != ATA_CBL_PATA40_SHORT) {
210 spin_unlock_irqrestore(&ide_lock, flags);
211 } else if (hwif->cbl != ATA_CBL_PATA40_SHORT) {
212 u8 ata66 = 0, mask = hwif->channel ? 0x02 : 0x01; 208 u8 ata66 = 0, mask = hwif->channel ? 0x02 : 0x01;
213 209
214 pci_read_config_byte(hwif->pci_dev, 0x49, &ata66); 210 pci_read_config_byte(hwif->pci_dev, 0x49, &ata66);