diff --git a/repos/dde_linux/src/drivers/nic/fec/lxc.c b/repos/dde_linux/src/drivers/nic/fec/lxc.c index d264b82241..3f595cfea8 100644 --- a/repos/dde_linux/src/drivers/nic/fec/lxc.c +++ b/repos/dde_linux/src/drivers/nic/fec/lxc.c @@ -26,7 +26,7 @@ struct Skb skb_helper(struct sk_buff *skb) skb_push(skb, ETH_HLEN); helper.packet = skb->data; - helper.packet_size = ETH_HLEN; + helper.packet_size = skb->len; helper.frag = 0; helper.frag_size = 0; @@ -43,9 +43,9 @@ struct Skb skb_helper(struct sk_buff *skb) skb_frag_t *f = &skb_shinfo(skb)->frags[0]; helper.frag = skb_frag_address(f); helper.frag_size = skb_frag_size(f); + /* fragment contains payload but header is still found in packet */ + helper.packet_size = ETH_HLEN; } - else - helper.packet_size += skb->len; return helper; } diff --git a/repos/dde_linux/src/drivers/usb_modem/lxc.c b/repos/dde_linux/src/drivers/usb_modem/lxc.c index c78512773e..8b2214ded8 100644 --- a/repos/dde_linux/src/drivers/usb_modem/lxc.c +++ b/repos/dde_linux/src/drivers/usb_modem/lxc.c @@ -30,7 +30,7 @@ struct Skb skb_helper(struct sk_buff *skb) skb_push(skb, ETH_HLEN); helper.packet = skb->data; - helper.packet_size = ETH_HLEN; + helper.packet_size = skb->len; helper.frag = 0; helper.frag_size = 0; @@ -47,9 +47,9 @@ struct Skb skb_helper(struct sk_buff *skb) skb_frag_t *f = &skb_shinfo(skb)->frags[0]; helper.frag = skb_frag_address(f); helper.frag_size = skb_frag_size(f); + /* fragment contains payload but header is still found in packet */ + helper.packet_size = ETH_HLEN; } - else - helper.packet_size += skb->len; return helper; } diff --git a/repos/dde_linux/src/drivers/usb_net/lxc.c b/repos/dde_linux/src/drivers/usb_net/lxc.c index d264b82241..3f595cfea8 100644 --- a/repos/dde_linux/src/drivers/usb_net/lxc.c +++ b/repos/dde_linux/src/drivers/usb_net/lxc.c @@ -26,7 +26,7 @@ struct Skb skb_helper(struct sk_buff *skb) skb_push(skb, ETH_HLEN); helper.packet = skb->data; - helper.packet_size = ETH_HLEN; + helper.packet_size = skb->len; helper.frag = 0; helper.frag_size = 0; @@ -43,9 +43,9 @@ struct Skb skb_helper(struct sk_buff *skb) skb_frag_t *f = &skb_shinfo(skb)->frags[0]; helper.frag = skb_frag_address(f); helper.frag_size = skb_frag_size(f); + /* fragment contains payload but header is still found in packet */ + helper.packet_size = ETH_HLEN; } - else - helper.packet_size += skb->len; return helper; } diff --git a/repos/dde_linux/src/lib/wifi/lxc_emul.c b/repos/dde_linux/src/lib/wifi/lxc_emul.c index 3fbc320762..d050f903a5 100644 --- a/repos/dde_linux/src/lib/wifi/lxc_emul.c +++ b/repos/dde_linux/src/lib/wifi/lxc_emul.c @@ -38,7 +38,7 @@ struct Skb skb_helper(struct sk_buff *skb) skb_push(skb, ETH_HLEN); helper.packet = skb->data; - helper.packet_size = ETH_HLEN; + helper.packet_size = skb->len; helper.frag = 0; helper.frag_size = 0; @@ -55,9 +55,9 @@ struct Skb skb_helper(struct sk_buff *skb) skb_frag_t *f = &skb_shinfo(skb)->frags[0]; helper.frag = skb_frag_address(f); helper.frag_size = skb_frag_size(f); + /* fragment contains payload but header is still found in packet */ + helper.packet_size = ETH_HLEN; } - else - helper.packet_size += skb->len; return helper; }