1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/net/ethernet/intel/ice
Jacob Keller 22ec3d232f devlink: check flash_update parameter support in net core
When implementing .flash_update, drivers which do not support
per-component update are manually checking the component parameter to
verify that it is NULL. Without this check, the driver might accept an
update request with a component specified even though it will not honor
such a request.

Instead of having each driver check this, move the logic into
net/core/devlink.c, and use a new `supported_flash_update_params` field
in the devlink_ops. Drivers which will support per-component update must
now specify this by setting DEVLINK_SUPPORT_FLASH_UPDATE_COMPONENT in
the supported_flash_update_params in their devlink_ops.

This helps ensure that drivers do not forget to check for a NULL
component if they do not support per-component update. This also enables
a slightly better error message by enabling the core stack to set the
netlink bad attribute message to indicate precisely the unsupported
attribute in the message.

Going forward, any new additional parameter to flash update will require
a bit in the supported_flash_update_params bitfield.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Jakub Kicinski <kuba@kernel.org>
Cc: Jiri Pirko <jiri@mellanox.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Michael Chan <michael.chan@broadcom.com>
Cc: Bin Luo <luobin9@huawei.com>
Cc: Saeed Mahameed <saeedm@mellanox.com>
Cc: Leon Romanovsky <leon@kernel.org>
Cc: Ido Schimmel <idosch@mellanox.com>
Cc: Danielle Ratson <danieller@mellanox.com>
Cc: Shannon Nelson <snelson@pensando.io>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-09-25 17:20:57 -07:00
..
ice.h intel-ethernet: clean up W=1 warnings in kdoc 2020-09-25 16:28:59 -07:00
ice_adminq_cmd.h intel-ethernet: clean up W=1 warnings in kdoc 2020-09-25 16:28:59 -07:00
ice_arfs.c ice: Implement aRFS 2020-05-22 22:02:34 -07:00
ice_arfs.h ice: Implement aRFS 2020-05-22 22:02:34 -07:00
ice_base.c xsk: i40e: ice: ixgbe: mlx5: Rename xsk zero-copy driver interfaces 2020-08-31 21:15:04 +02:00
ice_base.h ice: Add support to enable/disable all Rx queues before waiting 2020-02-15 16:39:55 -08:00
ice_common.c ice: Misc minor fixes 2020-08-01 08:44:04 -07:00
ice_common.h ice: Implement LFC workaround 2020-07-29 08:38:54 -07:00
ice_controlq.c ice: reduce scope of variable 2020-07-29 08:38:55 -07:00
ice_controlq.h ice: Handle critical FW error during admin queue initialization 2020-05-27 17:48:23 -07:00
ice_dcb.c ice: Implement LFC workaround 2020-07-29 08:38:54 -07:00
ice_dcb.h ice: replace single-element array used for C struct hack 2020-07-01 16:35:23 -07:00
ice_dcb_lib.c ice: fix link event handling timing 2020-07-29 08:38:54 -07:00
ice_dcb_lib.h ice: Implement LFC workaround 2020-07-29 08:38:54 -07:00
ice_dcb_nl.c ice: remove unused macro 2020-05-27 17:03:40 -07:00
ice_dcb_nl.h ice: Implement DCBNL support 2019-11-08 12:02:14 -08:00
ice_devids.h ice: fix define for E822 backplane device 2020-02-19 13:39:33 -08:00
ice_devlink.c devlink: check flash_update parameter support in net core 2020-09-25 17:20:57 -07:00
ice_devlink.h ice: add a devlink region for dumping NVM contents 2020-03-26 19:39:26 -07:00
ice_ethtool.c ice: add useful statistics 2020-08-01 08:44:04 -07:00
ice_ethtool_fdir.c ice: fix aRFS after flow director delete 2020-05-31 03:58:12 -07:00
ice_fdir.c ice: Enable flex-bytes support 2020-05-22 21:44:48 -07:00
ice_fdir.h ice: Enable flex-bytes support 2020-05-22 21:44:48 -07:00
ice_flex_pipe.c ice: Misc minor fixes 2020-08-01 08:44:04 -07:00
ice_flex_pipe.h ice: Support IPv4 Flow Director filters 2020-05-22 21:36:27 -07:00
ice_flex_type.h ice: replace single-element array used for C struct hack 2020-07-01 16:35:23 -07:00
ice_flow.c ice: Fix RSS profile locks 2020-08-01 08:22:30 -07:00
ice_flow.h ice: Enable flex-bytes support 2020-05-22 21:44:48 -07:00
ice_fltr.c ice: refactor filter functions 2020-05-21 22:10:04 -07:00
ice_fltr.h ice: refactor filter functions 2020-05-21 22:10:04 -07:00
ice_fw_update.c ice: simplify the return expression of ice_finalize_update() 2020-09-21 13:47:07 -07:00
ice_fw_update.h ice: implement device flash update via devlink 2020-07-28 17:07:06 -07:00
ice_hw_autogen.h ice: Misc minor fixes 2020-08-01 08:44:04 -07:00
ice_lan_tx_rx.h ice: update PTYPE lookup table 2020-08-01 08:44:04 -07:00
ice_lib.c xsk: i40e: ice: ixgbe: mlx5: Pass buffer pool to driver instead of umem 2020-08-31 21:15:03 +02:00
ice_lib.h ice: Add advanced power mgmt for WoL 2020-07-23 14:59:20 -07:00
ice_main.c xsk: i40e: ice: ixgbe: mlx5: Pass buffer pool to driver instead of umem 2020-08-31 21:15:03 +02:00
ice_nvm.c ice: Add AdminQ commands for FW update 2020-07-28 17:07:06 -07:00
ice_nvm.h ice: Add AdminQ commands for FW update 2020-07-28 17:07:06 -07:00
ice_osdep.h ice: Start hardware initialization 2018-03-26 09:59:08 -07:00
ice_protocol_type.h ice: Enable flex-bytes support 2020-05-22 21:44:48 -07:00
ice_sched.c ice: Misc minor fixes 2020-08-01 08:44:04 -07:00
ice_sched.h ice: avoid unnecessary single-member variable-length structs 2020-07-01 16:33:29 -07:00
ice_sriov.c ice: remove unnecessary fallthrough comments 2020-02-15 16:56:48 -08:00
ice_sriov.h ice: Add handlers for VF netdevice operations 2018-10-03 07:42:30 -07:00
ice_status.h ice: Handle critical FW error during admin queue initialization 2020-05-27 17:48:23 -07:00
ice_switch.c ice: return correct error code from ice_aq_sw_rules 2020-07-29 08:38:55 -07:00
ice_switch.h ice: Initialize Flow Director resources 2020-05-22 21:26:37 -07:00
ice_txrx.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2020-09-01 13:22:59 -07:00
ice_txrx.h intel-ethernet: clean up W=1 warnings in kdoc 2020-09-25 16:28:59 -07:00
ice_txrx_lib.c ice: add useful statistics 2020-08-01 08:44:04 -07:00
ice_txrx_lib.h ice: Rename build_ctob to ice_build_ctob 2020-05-21 22:10:04 -07:00
ice_type.h ice: Misc minor fixes 2020-08-01 08:44:04 -07:00
ice_virtchnl_pf.c ice: Misc minor fixes 2020-08-01 08:44:04 -07:00
ice_virtchnl_pf.h ice: Allow 2 queue pairs per VF on SR-IOV initialization 2020-08-01 08:44:04 -07:00
ice_xsk.c xsk: i40e: ice: ixgbe: mlx5: Test for dma_need_sync earlier for better performance 2020-08-31 21:15:04 +02:00
ice_xsk.h xsk: i40e: ice: ixgbe: mlx5: Pass buffer pool to driver instead of umem 2020-08-31 21:15:03 +02:00
Makefile ice: implement device flash update via devlink 2020-07-28 17:07:06 -07:00