Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5f08e46b621a769e52a9545a23ab1d5fb2aec1d4
Commit:     5f08e46b621a769e52a9545a23ab1d5fb2aec1d4
Parent:     c87ce65868bbf9bbea9c3f112ff8315302daf8f2
Author:     Luca Tettamanti <[EMAIL PROTECTED]>
AuthorDate: Fri Sep 7 20:25:01 2007 -0400
Committer:  Jeff Garzik <[EMAIL PROTECTED]>
CommitDate: Wed Sep 12 23:54:50 2007 -0400

    atl1: disable broken 64-bit DMA
    
    64-bit DMA causes data corruption with atl1.  We don't know why, and Atheros
    is working on it.  For now, just use 32-bit DMA.  This is a big hack that is
    probably wrong, but it stops the bleeding.
    
    Signed-off-by: Luca Tettamanti <[EMAIL PROTECTED]>
    Acked-by: Chris Snook <[EMAIL PROTECTED]>
    Acked-by: Jay Cliburn <[EMAIL PROTECTED]>
    Signed-off-by: Jeff Garzik <[EMAIL PROTECTED]>
---
 drivers/net/atl1/atl1_main.c |   19 +++++++------------
 1 files changed, 7 insertions(+), 12 deletions(-)

diff --git a/drivers/net/atl1/atl1_main.c b/drivers/net/atl1/atl1_main.c
index 3c1984e..f23e13c 100644
--- a/drivers/net/atl1/atl1_main.c
+++ b/drivers/net/atl1/atl1_main.c
@@ -2203,21 +2203,20 @@ static int __devinit atl1_probe(struct pci_dev *pdev,
        struct net_device *netdev;
        struct atl1_adapter *adapter;
        static int cards_found = 0;
-       bool pci_using_64 = true;
        int err;
 
        err = pci_enable_device(pdev);
        if (err)
                return err;
 
-       err = pci_set_dma_mask(pdev, DMA_64BIT_MASK);
+       /*
+        * 64-bit DMA currently has data corruption problems, so let's just
+        * use 32-bit DMA for now.  This is a big hack that is probably wrong.
+        */
+       err = pci_set_dma_mask(pdev, DMA_32BIT_MASK);
        if (err) {
-               err = pci_set_dma_mask(pdev, DMA_32BIT_MASK);
-               if (err) {
-                       dev_err(&pdev->dev, "no usable DMA configuration\n");
-                       goto err_dma;
-               }
-               pci_using_64 = false;
+               dev_err(&pdev->dev, "no usable DMA configuration\n");
+               goto err_dma;
        }
        /* Mark all PCI regions associated with PCI device
         * pdev as being reserved by owner atl1_driver_name
@@ -2282,7 +2281,6 @@ static int __devinit atl1_probe(struct pci_dev *pdev,
 
        netdev->ethtool_ops = &atl1_ethtool_ops;
        adapter->bd_number = cards_found;
-       adapter->pci_using_64 = pci_using_64;
 
        /* setup the private structure */
        err = atl1_sw_init(adapter);
@@ -2299,9 +2297,6 @@ static int __devinit atl1_probe(struct pci_dev *pdev,
         */
        /* netdev->features |= NETIF_F_TSO; */
 
-       if (pci_using_64)
-               netdev->features |= NETIF_F_HIGHDMA;
-
        netdev->features |= NETIF_F_LLTX;
 
        /*
-
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