Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bce7d5e0e1fc0c1f1251b7f21a19cb48207408b6
Commit:     bce7d5e0e1fc0c1f1251b7f21a19cb48207408b6
Parent:     08ebd43d6b9b63de681b8f255c0fabae8033527c
Author:     Jeff Norden <[EMAIL PROTECTED]>
AuthorDate: Tue Sep 4 11:07:20 2007 -0500
Committer:  Jeff Garzik <[EMAIL PROTECTED]>
CommitDate: Mon Sep 10 21:53:00 2007 -0400

    pata_it821x: fix lost interrupt with atapi devices
    
    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 <[EMAIL PROTECTED]>
    Reviewed-by: Alan Cox <[EMAIL PROTECTED]>
    Signed-off-by: Jeff Garzik <[EMAIL PROTECTED]>
---
 drivers/ata/pata_it821x.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/ata/pata_it821x.c b/drivers/ata/pata_it821x.c
index ed637ae..5d8b91e 100644
--- a/drivers/ata/pata_it821x.c
+++ b/drivers/ata/pata_it821x.c
@@ -533,6 +533,10 @@ static int it821x_check_atapi_dma(struct ata_queued_cmd 
*qc)
        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 git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to