pcnet32_alloc_ring() is never called in atomic context.
It calls kcalloc() with GFP_ATOMIC, which is not necessary.
GFP_ATOMIC can be replaced with GFP_KERNEL.
This is found by a static analysis tool named DCNS written by myself.
Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
        }
 
        lp->tx_dma_addr = kcalloc(lp->tx_ring_size, sizeof(dma_addr_t),
-                                 GFP_ATOMIC);
+                                 GFP_KERNEL);
        if (!lp->tx_dma_addr)
                return -ENOMEM;
 
        lp->rx_dma_addr = kcalloc(lp->rx_ring_size, sizeof(dma_addr_t),
-                                 GFP_ATOMIC);
+                                 GFP_KERNEL);
        if (!lp->rx_dma_addr)
                return -ENOMEM;
 
        lp->tx_skbuff = kcalloc(lp->tx_ring_size, sizeof(struct sk_buff *),
-                               GFP_ATOMIC);
+                               GFP_KERNEL);
        if (!lp->tx_skbuff)
                return -ENOMEM;
 
        lp->rx_skbuff = kcalloc(lp->rx_ring_size, sizeof(struct sk_buff *),
-                               GFP_ATOMIC);
+                               GFP_KERNEL);
        if (!lp->rx_skbuff)
                return -ENOMEM;