提交 6ae5cbc4 编写于 作者: J Jia-Ju Bai 提交者: David S. Miller

net: nvidia: forcedeth: Replace GFP_ATOMIC with GFP_KERNEL in nv_probe()

nv_probe() is never called in atomic context.
It calls dma_alloc_coherent() 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: NJia-Ju Bai <baijiaju1990@gmail.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 d818c59a
...@@ -5777,7 +5777,7 @@ static int nv_probe(struct pci_dev *pci_dev, const struct pci_device_id *id) ...@@ -5777,7 +5777,7 @@ static int nv_probe(struct pci_dev *pci_dev, const struct pci_device_id *id)
(np->rx_ring_size + (np->rx_ring_size +
np->tx_ring_size), np->tx_ring_size),
&np->ring_addr, &np->ring_addr,
GFP_ATOMIC); GFP_KERNEL);
if (!np->rx_ring.orig) if (!np->rx_ring.orig)
goto out_unmap; goto out_unmap;
np->tx_ring.orig = &np->rx_ring.orig[np->rx_ring_size]; np->tx_ring.orig = &np->rx_ring.orig[np->rx_ring_size];
...@@ -5786,7 +5786,7 @@ static int nv_probe(struct pci_dev *pci_dev, const struct pci_device_id *id) ...@@ -5786,7 +5786,7 @@ static int nv_probe(struct pci_dev *pci_dev, const struct pci_device_id *id)
sizeof(struct ring_desc_ex) * sizeof(struct ring_desc_ex) *
(np->rx_ring_size + (np->rx_ring_size +
np->tx_ring_size), np->tx_ring_size),
&np->ring_addr, GFP_ATOMIC); &np->ring_addr, GFP_KERNEL);
if (!np->rx_ring.ex) if (!np->rx_ring.ex)
goto out_unmap; goto out_unmap;
np->tx_ring.ex = &np->rx_ring.ex[np->rx_ring_size]; np->tx_ring.ex = &np->rx_ring.ex[np->rx_ring_size];
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册