Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e0e31216 authored by Alexander Duyck's avatar Alexander Duyck Committed by David S. Miller
Browse files

cxgb: Use napi_alloc_skb instead of netdev_alloc_skb_ip_align



In order to use napi_alloc_skb I needed to pass a pointer to struct adapter
instead of struct pci_dev.  This allowed me to access &adapter->napi.

Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 67fd893e
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -1025,7 +1025,7 @@ MODULE_PARM_DESC(copybreak, "Receive copy threshold");

/**
 *	get_packet - return the next ingress packet buffer
 *	@pdev: the PCI device that received the packet
 *	@adapter: the adapter that received the packet
 *	@fl: the SGE free list holding the packet
 *	@len: the actual packet length, excluding any SGE padding
 *
@@ -1037,14 +1037,15 @@ MODULE_PARM_DESC(copybreak, "Receive copy threshold");
 *	threshold and the packet is too big to copy, or (b) the packet should
 *	be copied but there is no memory for the copy.
 */
static inline struct sk_buff *get_packet(struct pci_dev *pdev,
static inline struct sk_buff *get_packet(struct adapter *adapter,
					 struct freelQ *fl, unsigned int len)
{
	struct sk_buff *skb;
	const struct freelQ_ce *ce = &fl->centries[fl->cidx];
	struct pci_dev *pdev = adapter->pdev;
	struct sk_buff *skb;

	if (len < copybreak) {
		skb = netdev_alloc_skb_ip_align(NULL, len);
		skb = napi_alloc_skb(&adapter->napi, len);
		if (!skb)
			goto use_orig_buf;

@@ -1357,7 +1358,7 @@ static void sge_rx(struct sge *sge, struct freelQ *fl, unsigned int len)
	struct sge_port_stats *st;
	struct net_device *dev;

	skb = get_packet(adapter->pdev, fl, len - sge->rx_pkt_pad);
	skb = get_packet(adapter, fl, len - sge->rx_pkt_pad);
	if (unlikely(!skb)) {
		sge->stats.rx_drops++;
		return;