On Wed, Jan 4, 2017 at 4:41 AM, Michał Mirosław <mirq-li...@rere.qmqm.pl> wrote:
>
> Signed-off-by: Michał Mirosław <mirq-li...@rere.qmqm.pl>
> ---
> v3: fix adapter->pvid handling
>
>  drivers/net/ethernet/emulex/benet/be_main.c | 13 +++++++++----
>  1 file changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/net/ethernet/emulex/benet/be_main.c 
> b/drivers/net/ethernet/emulex/benet/be_main.c
> index 7e1633bf5a22..cd12c9a7664b 100644
> --- a/drivers/net/ethernet/emulex/benet/be_main.c
> +++ b/drivers/net/ethernet/emulex/benet/be_main.c
> @@ -1035,30 +1035,35 @@ static struct sk_buff *be_insert_vlan_in_pkt(struct 
> be_adapter *adapter,
>                                              struct be_wrb_params
>                                              *wrb_params)
>  {
> +       bool insert_vlan = false;
>         u16 vlan_tag = 0;
>
>         skb = skb_share_check(skb, GFP_ATOMIC);
>         if (unlikely(!skb))
>                 return skb;
>
> -       if (skb_vlan_tag_present(skb))
> +       if (skb_vlan_tag_present(skb)) {
>                 vlan_tag = be_get_tx_vlan_tag(adapter, skb);
> +               insert_vlan = true;
> +       }
>
>         if (qnq_async_evt_rcvd(adapter) && adapter->pvid) {
> -               if (!vlan_tag)
> +               if (!insert_vlan) {
>                         vlan_tag = adapter->pvid;
> +                       insert_vlan = true;
> +               }
>                 /* f/w workaround to set skip_hw_vlan = 1, informs the F/W to
>                  * skip VLAN insertion
>                  */
>                 BE_WRB_F_SET(wrb_params->features, VLAN_SKIP_HW, 1);
>         }
>
> -       if (vlan_tag) {
> +       if (insert_vlan) {
>                 skb = vlan_insert_tag_set_proto(skb, htons(ETH_P_8021Q),
>                                                 vlan_tag);
>                 if (unlikely(!skb))
>                         return skb;
> -               skb->vlan_tci = 0;
> +               __vlan_hwaccel_clear_tag(skb);
>         }
>
>         /* Insert the outer VLAN, if any */
> --
> 2.11.0
>

Thanks

Acked-by: Somnath Kotur <somnath.ko...@broadcom.com>

Reply via email to