Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

tg3: Use napi_alloc_frag()

tg3_alloc_rx_data() uses netdev_alloc_frag() for skb allocation. All
callers of tg3_alloc_rx_data() either hold tp->lock (which is held with
BH disabled) or run in NAPI context.

Use napi_alloc_frag() for skb allocations.

Cc: Siva Reddy Kallam <siva.kallam@broadcom.com>
Cc: Prashant Sreedharan <prashant@broadcom.com>
Cc: Michael Chan <mchan@broadcom.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Sebastian Andrzej Siewior and committed by
David S. Miller
49eef82d 3a89aae4

+1 -1
+1 -1
drivers/net/ethernet/broadcom/tg3.c
··· 6710 6710 skb_size = SKB_DATA_ALIGN(data_size + TG3_RX_OFFSET(tp)) + 6711 6711 SKB_DATA_ALIGN(sizeof(struct skb_shared_info)); 6712 6712 if (skb_size <= PAGE_SIZE) { 6713 - data = netdev_alloc_frag(skb_size); 6713 + data = napi_alloc_frag(skb_size); 6714 6714 *frag_size = skb_size; 6715 6715 } else { 6716 6716 data = kmalloc(skb_size, GFP_ATOMIC);