sfc: rework handling of (firmware) multicast chaining state
authorEdward Cree <ecree@solarflare.com>
Mon, 11 May 2020 12:29:23 +0000 (13:29 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 11 May 2020 20:31:49 +0000 (13:31 -0700)
commitfd14e5fd136b1868d10f032a389a36603fb3a119
tree644e0decbba0bd68c592d214e3c26698a8eff405
parente4fe938cff0464643b1fbca872e5e10b1ec4c478
sfc: rework handling of (firmware) multicast chaining state

Store the mc_chaining bit in struct efx_mcdi_filter_table, so that common
 code in mcdi_filters.c doesn't need to get it from ef10-specific nic_data.
Also, probe the firmware workaround just before the call to
 efx_mcdi_filter_table_probe(), rather than in a random other part of the
 driver bringup, to ensure that (a) it gets probed in time and (b) it gets
 reprobed as necessary on resets, no matter how the surrounding code gets
 reorganised and reordered.

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/mcdi_filters.c
drivers/net/ethernet/sfc/mcdi_filters.h