16K is 2^2 * PAGE_SIZE, so the page order should be 2, not 3.

This patch uses get_order() to get correct order, and fixes
one typo in comment.

Signed-off-by: Amos Kong <[email protected]>
---
This patch wasn't built. Geert, can you help to test it?
I don't know if it needs a head file by using get_order().
---
 drivers/net/ethernet/amd/mvme147.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/amd/mvme147.c 
b/drivers/net/ethernet/amd/mvme147.c
index 0e8399d..4e98bf8 100644
--- a/drivers/net/ethernet/amd/mvme147.c
+++ b/drivers/net/ethernet/amd/mvme147.c
@@ -26,10 +26,11 @@
 #include <asm/pgtable.h>
 #include <asm/mvme147hw.h>
 
-/* We have 16834 bytes of RAM for the init block and buffers. This places
+/* We have 16384 bytes of RAM for the init block and buffers. This places
  * an upper limit on the number of buffers we can use. NetBSD uses 8 Rx
  * buffers and 2 Tx buffers.
  */
+#define M147LANCE_RAM_SIZE   16384 /* 16K */
 #define LANCE_LOG_TX_BUFFERS 1
 #define LANCE_LOG_RX_BUFFERS 3
 
@@ -111,7 +112,7 @@ struct net_device * __init mvme147lance_probe(int unit)
               dev->dev_addr);
 
        lp = netdev_priv(dev);
-       lp->ram = __get_dma_pages(GFP_ATOMIC, 3);       /* 16K */
+       lp->ram = __get_dma_pages(GFP_ATOMIC, get_order(M147LANCE_RAM_SIZE));
        if (!lp->ram) {
                printk("%s: No memory for LANCE buffers\n", dev->name);
                free_netdev(dev);
@@ -134,7 +135,7 @@ struct net_device * __init mvme147lance_probe(int unit)
 
        err = register_netdev(dev);
        if (err) {
-               free_pages(lp->ram, 3);
+               free_pages(lp->ram, get_order(M147LANCE_RAM_SIZE));
                free_netdev(dev);
                return ERR_PTR(err);
        }
@@ -193,7 +194,7 @@ void __exit cleanup_module(void)
 {
        struct m147lance_private *lp = netdev_priv(dev_mvme147_lance);
        unregister_netdev(dev_mvme147_lance);
-       free_pages(lp->ram, 3);
+       free_pages(lp->ram, get_order(M147LANCE_RAM_SIZE));
        free_netdev(dev_mvme147_lance);
 }
 
-- 
1.9.0

--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to