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

Commit aad94c04 authored by Manish Chopra's avatar Manish Chopra Committed by David S. Miller
Browse files

qede: Fix setting Skb network header



Skb's network header needs to be set before extracting IPv4/IPv6
headers from it.

Signed-off-by: default avatarManish Chopra <manish.chopra@qlogic.com>
Signed-off-by: default avatarYuval Mintz <yuval.mintz@qlogic.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent f86af2df
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1041,7 +1041,6 @@ static void qede_gro_ip_csum(struct sk_buff *skb)
	const struct iphdr *iph = ip_hdr(skb);
	struct tcphdr *th;

	skb_set_network_header(skb, 0);
	skb_set_transport_header(skb, sizeof(struct iphdr));
	th = tcp_hdr(skb);

@@ -1056,7 +1055,6 @@ static void qede_gro_ipv6_csum(struct sk_buff *skb)
	struct ipv6hdr *iph = ipv6_hdr(skb);
	struct tcphdr *th;

	skb_set_network_header(skb, 0);
	skb_set_transport_header(skb, sizeof(struct ipv6hdr));
	th = tcp_hdr(skb);

@@ -1073,6 +1071,8 @@ static void qede_gro_receive(struct qede_dev *edev,
{
#ifdef CONFIG_INET
	if (skb_shinfo(skb)->gso_size) {
		skb_set_network_header(skb, 0);

		switch (skb->protocol) {
		case htons(ETH_P_IP):
			qede_gro_ip_csum(skb);