commit c9ef5a43530e7dbec05c1dad59356f85516d2c0b
Author: James Bottomley <[EMAIL PROTECTED]>
Date:   Tue Mar 11 01:50:07 2008 +0000

    drivers: fix dma_get_required_mask
    
    commit: e88a0c2ca81207a75afe5bbb8020541dabf606ac
    Date: Sun, 9 Mar 2008 11:57:56 -0500
    Subject: drivers: fix dma_get_required_mask
    
    There's a bug in the current implementation of dma_get_required_mask()
    where it ands the returned mask with the current device mask.  This
    rather defeats the purpose if you're using the call to determine what
    your mask should be (since you will at that time have the default
    DMA_32BIT_MASK).  This bug results in any driver that uses this function
    *always* getting a 32 bit mask, which is wrong.
    
    Fix by removing the and with dev->dma_mask.
    
    Signed-off-by: James Bottomley <[EMAIL PROTECTED]>
    Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>
    Signed-off-by: Chris Wright <[EMAIL PROTECTED]>
    Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>

diff --git a/drivers/base/platform.c b/drivers/base/platform.c
index fb56092..39d8b7b 100644
--- a/drivers/base/platform.c
+++ b/drivers/base/platform.c
@@ -647,7 +647,7 @@ u64 dma_get_required_mask(struct device *dev)
                high_totalram += high_totalram - 1;
                mask = (((u64)high_totalram) << 32) + 0xffffffff;
        }
-       return mask & *dev->dma_mask;
+       return mask;
 }
 EXPORT_SYMBOL_GPL(dma_get_required_mask);
 #endif
_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs

Reply via email to