Re: [PATCH net 1/2] r8169: fix the default setting of rx vlan

From: Francois Romieu
Date: Fri Sep 12 2014 - 15:40:26 EST


Hayes Wang <hayeswang@xxxxxxxxxxx> :
> If the parameter "features" of __rtl8169_set_features() is equal to
> dev->features, the variable "changed" is alwayes 0, and nothing would
> be changed.
[...]
> diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
> index 91652e7..f3ce284 100644
> --- a/drivers/net/ethernet/realtek/r8169.c
> +++ b/drivers/net/ethernet/realtek/r8169.c
> @@ -6707,7 +6707,12 @@ static int rtl_open(struct net_device *dev)
>
> rtl8169_init_phy(dev, tp);
>
> - __rtl8169_set_features(dev, dev->features);
> + if (dev->features & NETIF_F_HW_VLAN_CTAG_RX)
> + tp->cp_cmd |= RxVlan;
> + else
> + tp->cp_cmd &= ~RxVlan;
> +
> + RTL_W16(CPlusCmd, tp->cp_cmd);

Damn good catch.

The same fix should be relevant for NETIF_F_RXCSUM. You may thus as
well remove the "changed" test in __rtl8169_set_features and keep
everything there.

The commit message could notify the driver don't behave as expected since
6bbe021d405fff46b64a08dca51b06897b897a67 ("r8169: Support RX-ALL flag.")
to ease stable people's work.

--
Ueimor
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/