drivers:net: dma_alloc_coherent: use __GFP_ZERO instead of memset(, 0)
[linux-2.6-block.git] / drivers / net / ethernet / xilinx / ll_temac_main.c
index a64a6d74a5c8f9972bf93be6024b588b9ea77a49..4a7c60f4c83d66dfbdbdd89b261901832ed26e6c 100644 (file)
@@ -245,23 +245,21 @@ static int temac_dma_bd_init(struct net_device *ndev)
        /* returns a virtual address and a physical address. */
        lp->tx_bd_v = dma_alloc_coherent(ndev->dev.parent,
                                         sizeof(*lp->tx_bd_v) * TX_BD_NUM,
-                                        &lp->tx_bd_p, GFP_KERNEL);
+                                        &lp->tx_bd_p, GFP_KERNEL | __GFP_ZERO);
        if (!lp->tx_bd_v)
                goto out;
 
        lp->rx_bd_v = dma_alloc_coherent(ndev->dev.parent,
                                         sizeof(*lp->rx_bd_v) * RX_BD_NUM,
-                                        &lp->rx_bd_p, GFP_KERNEL);
+                                        &lp->rx_bd_p, GFP_KERNEL | __GFP_ZERO);
        if (!lp->rx_bd_v)
                goto out;
 
-       memset(lp->tx_bd_v, 0, sizeof(*lp->tx_bd_v) * TX_BD_NUM);
        for (i = 0; i < TX_BD_NUM; i++) {
                lp->tx_bd_v[i].next = lp->tx_bd_p +
                                sizeof(*lp->tx_bd_v) * ((i + 1) % TX_BD_NUM);
        }
 
-       memset(lp->rx_bd_v, 0, sizeof(*lp->rx_bd_v) * RX_BD_NUM);
        for (i = 0; i < RX_BD_NUM; i++) {
                lp->rx_bd_v[i].next = lp->rx_bd_p +
                                sizeof(*lp->rx_bd_v) * ((i + 1) % RX_BD_NUM);