sfc: VLAN filters must only be created if the firmware supports this.
authorMartin Habets <mhabets@solarflare.com>
Wed, 15 Jun 2016 16:51:07 +0000 (17:51 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 16 Jun 2016 05:26:26 +0000 (22:26 -0700)
commite4478ad14f442103d7f03406933aeb28cbdfc1bd
tree168755d53d203f0bf4b41e4f06b787f3cc51bf60
parent7ac0dd9de6eda438dfeafdebc30a2d67e1e5ad60
sfc: VLAN filters must only be created if the firmware supports this.

If it is not supported we simply disable the feature.

For the feature to work we need firmware filter support for
OUTER_VID + LOC_MAC and for OUTER_VID + LOC_MAC_IG.
The low-latency firmware can match on OUTER_VID + LOC_MAC but not on
OUTER_VID + LOC_MAC_IG.
For the capture packet firmware it is the other way around.
Only the full-feature variant can match on both combinations.

Incorporates a fix by Andrew Rybchenko <Andrew.Rybchenko@oktetlabs.ru>
in the net_dev->[hw_]features handling.

Signed-off-by: Edward Cree <ecree@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/sfc/ef10.c
drivers/net/ethernet/sfc/net_driver.h