On Mon, 14 Dec 2020 17:12:24 +0100 Loic Poulain wrote:
> MHI net is protocol agnostic, the payload protocol depends on the modem
> configuration, which can be either RMNET (IP muxing and aggregation) or
> raw IP. This patch adds support for incomming IPv4/IPv6 packets, that
> was previously unconditionnaly reported as RMNET packets.
> 
> Signed-off-by: Loic Poulain <loic.poul...@linaro.org>
> ---
>  drivers/net/mhi_net.c | 13 ++++++++++++-
>  1 file changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/mhi_net.c b/drivers/net/mhi_net.c
> index 5af6247..a1fb2b8 100644
> --- a/drivers/net/mhi_net.c
> +++ b/drivers/net/mhi_net.c
> @@ -260,7 +260,18 @@ static void mhi_net_dl_callback(struct mhi_device 
> *mhi_dev,
>               u64_stats_add(&mhi_netdev->stats.rx_bytes, skb->len);
>               u64_stats_update_end(&mhi_netdev->stats.rx_syncp);
>  
> -             skb->protocol = htons(ETH_P_MAP);
> +             switch (skb->data[0] & 0xf0) {
> +             case 0x40:
> +                     skb->protocol = htons(ETH_P_IP);
> +                     break;
> +             case 0x60:
> +                     skb->protocol = htons(ETH_P_IPV6);
> +                     break;
> +             default:
> +                     skb->protocol = htons(ETH_P_MAP);
> +                     break;
> +             }

This doesn't apply, there is a skb_put() right here in the networking
tree :S Are we missing some other fix?

>               netif_rx(skb);
>       }
>  

Reply via email to