aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/ata/ahci.c2
-rw-r--r--drivers/ata/libata-core.c3
-rw-r--r--drivers/ata/pata_atiixp.c4
-rw-r--r--drivers/ata/pata_via.c11
4 files changed, 12 insertions, 8 deletions
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index 7c4f886f1f16..8cace9aa9c03 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -358,7 +358,7 @@ static const struct ata_port_info ahci_port_info[] = {
358 /* board_ahci_sb600 */ 358 /* board_ahci_sb600 */
359 { 359 {
360 AHCI_HFLAGS (AHCI_HFLAG_IGN_SERR_INTERNAL | 360 AHCI_HFLAGS (AHCI_HFLAG_IGN_SERR_INTERNAL |
361 AHCI_HFLAG_32BIT_ONLY | 361 AHCI_HFLAG_32BIT_ONLY | AHCI_HFLAG_NO_MSI |
362 AHCI_HFLAG_SECT255 | AHCI_HFLAG_NO_PMP), 362 AHCI_HFLAG_SECT255 | AHCI_HFLAG_NO_PMP),
363 .flags = AHCI_FLAG_COMMON, 363 .flags = AHCI_FLAG_COMMON,
364 .pio_mask = 0x1f, /* pio0-4 */ 364 .pio_mask = 0x1f, /* pio0-4 */
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 51b7d2fad36a..3bc488538204 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -3933,6 +3933,9 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
3933 3933
3934 /* Devices which get the IVB wrong */ 3934 /* Devices which get the IVB wrong */
3935 { "QUANTUM FIREBALLlct10 05", "A03.0900", ATA_HORKAGE_IVB, }, 3935 { "QUANTUM FIREBALLlct10 05", "A03.0900", ATA_HORKAGE_IVB, },
3936 /* Maybe we should just blacklist TSSTcorp... */
3937 { "TSSTcorp CDDVDW SH-S202H", "SB00", ATA_HORKAGE_IVB, },
3938 { "TSSTcorp CDDVDW SH-S202H", "SB01", ATA_HORKAGE_IVB, },
3936 { "TSSTcorp CDDVDW SH-S202J", "SB00", ATA_HORKAGE_IVB, }, 3939 { "TSSTcorp CDDVDW SH-S202J", "SB00", ATA_HORKAGE_IVB, },
3937 { "TSSTcorp CDDVDW SH-S202J", "SB01", ATA_HORKAGE_IVB, }, 3940 { "TSSTcorp CDDVDW SH-S202J", "SB01", ATA_HORKAGE_IVB, },
3938 { "TSSTcorp CDDVDW SH-S202N", "SB00", ATA_HORKAGE_IVB, }, 3941 { "TSSTcorp CDDVDW SH-S202N", "SB00", ATA_HORKAGE_IVB, },
diff --git a/drivers/ata/pata_atiixp.c b/drivers/ata/pata_atiixp.c
index 78738fb4223b..d7de7baf58a8 100644
--- a/drivers/ata/pata_atiixp.c
+++ b/drivers/ata/pata_atiixp.c
@@ -88,8 +88,8 @@ static void atiixp_set_pio_timing(struct ata_port *ap, struct ata_device *adev,
88 pci_write_config_word(pdev, ATIIXP_IDE_PIO_MODE, pio_mode_data); 88 pci_write_config_word(pdev, ATIIXP_IDE_PIO_MODE, pio_mode_data);
89 89
90 pci_read_config_word(pdev, ATIIXP_IDE_PIO_TIMING, &pio_timing_data); 90 pci_read_config_word(pdev, ATIIXP_IDE_PIO_TIMING, &pio_timing_data);
91 pio_mode_data &= ~(0xFF << timing_shift); 91 pio_timing_data &= ~(0xFF << timing_shift);
92 pio_mode_data |= (pio_timings[pio] << timing_shift); 92 pio_timing_data |= (pio_timings[pio] << timing_shift);
93 pci_write_config_word(pdev, ATIIXP_IDE_PIO_TIMING, pio_timing_data); 93 pci_write_config_word(pdev, ATIIXP_IDE_PIO_TIMING, pio_timing_data);
94} 94}
95 95
diff --git a/drivers/ata/pata_via.c b/drivers/ata/pata_via.c
index d4840748fb5c..2fea6cbe7755 100644
--- a/drivers/ata/pata_via.c
+++ b/drivers/ata/pata_via.c
@@ -464,11 +464,12 @@ static int via_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
464 } 464 }
465 pci_dev_put(isa); 465 pci_dev_put(isa);
466 466
467 /* 0x40 low bits indicate enabled channels */ 467 if (!(config->flags & VIA_NO_ENABLES)) {
468 pci_read_config_byte(pdev, 0x40 , &enable); 468 /* 0x40 low bits indicate enabled channels */
469 enable &= 3; 469 pci_read_config_byte(pdev, 0x40 , &enable);
470 if (enable == 0) { 470 enable &= 3;
471 return -ENODEV; 471 if (enable == 0)
472 return -ENODEV;
472 } 473 }
473 474
474 /* Initialise the FIFO for the enabled channels. */ 475 /* Initialise the FIFO for the enabled channels. */