[PATCH 1/1] pata_it821x: fix lost interrupt with atapi devices

From: Jeff Norden
Date: Tue Sep 04 2007 - 12:41:37 EST


From: Jeff Norden <jnorden@xxxxxxxxxxxxxxx>

Fix "lost" interrupt problem when using dma with CD/DVD drives in some
configurations. This problem can make installing linux from media
impossible for distro's that have switched to libata-only configurations.

The simple fix is to eliminate the use of dma for reading drive status, etc,
by checking the number of bytes to transferred.

This change will only affect the behavior of atapi devices, not disks.
There is more info at http://bugzilla.redhat.com/show_bug.cgi?id=242229
This patch is for 2.6.22.1

Signed-off-by: Jeff Norden <jnorden@xxxxxxxxxxxxxxx>

---

--- pata_it821x.c.orig 2007-08-16 14:20:49.000000000 -0500
+++ pata_it821x.c 2007-08-31 16:09:22.000000000 -0500
@@ -533,6 +533,10 @@ static int it821x_check_atapi_dma(struct
struct ata_port *ap = qc->ap;
struct it821x_dev *itdev = ap->private_data;

+ /* Only use dma for transfers to/from the media. */
+ if (qc->nbytes < 2048)
+ return -EOPNOTSUPP;
+
/* No ATAPI DMA in smart mode */
if (itdev->smart)
return -EOPNOTSUPP;

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/