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

Commit 8dff66cc authored by Thomas Falcon's avatar Thomas Falcon Committed by David S. Miller
Browse files

ibmvnic: Account for VLAN header length in TX buffers



The extra four bytes of a VLAN packet was throwing off
TX buffer entry values used by the driver. Account for those
bytes when in buffer size and buffer entry calculations

Signed-off-by: default avatarThomas Falcon <tlfalcon@linux.vnet.ibm.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent da75e3b6
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -659,7 +659,7 @@ static int init_tx_pools(struct net_device *netdev)

		if (alloc_long_term_buff(adapter, &tx_pool->long_term_buff,
					 adapter->req_tx_entries_per_subcrq *
					 adapter->req_mtu)) {
					 (adapter->req_mtu + VLAN_HLEN))) {
			release_tx_pools(adapter);
			return -1;
		}
@@ -1394,9 +1394,9 @@ static int ibmvnic_xmit(struct sk_buff *skb, struct net_device *netdev)
		if (tx_pool->tso_index == IBMVNIC_TSO_BUFS)
			tx_pool->tso_index = 0;
	} else {
		offset = index * adapter->req_mtu;
		offset = index * (adapter->req_mtu + VLAN_HLEN);
		dst = tx_pool->long_term_buff.buff + offset;
		memset(dst, 0, adapter->req_mtu);
		memset(dst, 0, adapter->req_mtu + VLAN_HLEN);
		data_dma_addr = tx_pool->long_term_buff.addr + offset;
	}