Search Linux Wireless

Re: [PATCH 7/8] brcmfmac: revise handling events in receive path

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11 April 2016 at 11:35, Arend van Spriel <arend@xxxxxxxxxxxx> wrote:
> @@ -298,18 +298,11 @@ void brcmf_txflowblock(struct device *dev, bool state)
>         brcmf_fws_bus_blocked(drvr, state);
>  }
>
> -void brcmf_netif_rx(struct brcmf_if *ifp, struct sk_buff *skb,
> -                   bool handle_event)
> +void brcmf_netif_rx(struct brcmf_if *ifp, struct sk_buff *skb)
>  {
> -       skb->protocol = eth_type_trans(skb, ifp->ndev);

With this change every brcmf_netif_rx caller has to call
eth_type_trans on its own.


> @@ -348,10 +341,17 @@ void brcmf_rx_frame(struct device *dev, struct sk_buff *skb, bool handle_evnt)
>                 return;
>         }
>
> -       if (brcmf_proto_is_reorder_skb(skb))
> +       skb->protocol = eth_type_trans(skb, ifp->ndev);
> +
> +       if (brcmf_proto_is_reorder_skb(skb)) {
>                 brcmf_proto_rxreorder(ifp, skb);
> -       else
> -               brcmf_netif_rx(ifp, skb, handle_evnt);
> +       } else {
> +               /* Process special event packets */
> +               if (handle_event)
> +                       brcmf_fweh_process_skb(ifp->drvr, skb);
> +
> +               brcmf_netif_rx(ifp, skb);
> +       }
>  }

You added a call to eth_type_trans in brcmf_rx_frame which is used by
USB and SDIO. My guess it you wanted to avoid having duplicated
eth_type_trans call in brcmf_proto_rxreorder.
However you forgot about calling eth_type_trans from
brcmf_msgbuf_process_rx_complete (used by PCI). So to fix this
regression you'll need another call to eth_type_trans anyway.
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux