Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3acaf94b authored by Alan Cox's avatar Alan Cox Committed by Jeff Garzik
Browse files

libata-core: Be a bit more relaxed about early DMA zero devices



I guess Windows didn't care about the command so neither did they

Signed-off-by: default avatarAlan Cox <alan@redhat.com>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent edc93052
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -2882,6 +2882,13 @@ static int ata_dev_set_mode(struct ata_device *dev)
			dev->pio_mode <= XFER_PIO_2)
		err_mask &= ~AC_ERR_DEV;

	/* Early MWDMA devices do DMA but don't allow DMA mode setting.
	   Don't fail an MWDMA0 set IFF the device indicates it is in MWDMA0 */
	if (dev->xfer_shift == ATA_SHIFT_MWDMA && 
	    dev->dma_mode == XFER_MW_DMA_0 &&
	    (dev->id[63] >> 8) & 1)
		err_mask &= ~AC_ERR_DEV;

	if (err_mask) {
		ata_dev_printk(dev, KERN_ERR, "failed to set xfermode "
			       "(err_mask=0x%x)\n", err_mask);
@@ -3943,9 +3950,6 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
	{ "_NEC DV5800A", 	NULL,		ATA_HORKAGE_NODMA },
	{ "SAMSUNG CD-ROM SN-124", "N001",	ATA_HORKAGE_NODMA },
	{ "Seagate STT20000A", NULL,		ATA_HORKAGE_NODMA },
	{ "IOMEGA  ZIP 250       ATAPI", NULL,	ATA_HORKAGE_NODMA }, /* temporary fix */
	{ "IOMEGA  ZIP 250       ATAPI       Floppy",
				NULL,		ATA_HORKAGE_NODMA },
	/* Odd clown on sil3726/4726 PMPs */
	{ "Config  Disk",	NULL,		ATA_HORKAGE_NODMA |
						ATA_HORKAGE_SKIP_PM },