]> git.dujemihanovic.xyz Git - linux.git/commit
net: qede: use return from qede_parse_actions() for flow_spec
authorAsbjørn Sloth Tønnesen <ast@fiberby.net>
Fri, 3 May 2024 10:55:01 +0000 (10:55 +0000)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 7 May 2024 09:08:14 +0000 (11:08 +0200)
commit146817ec32095abb8655dadc413fbfc3016e4da4
tree5e345437378428173c673eeb6da80b73546ce6b7
parent179a6f5df8dab7d027aa73a302d8506c6533e463
net: qede: use return from qede_parse_actions() for flow_spec

In qede_flow_spec_to_rule(), when calling
qede_parse_actions() then the return code
was only used for a non-zero check, and then
-EINVAL was returned.

qede_parse_actions() can currently fail with:
* -EINVAL
* -EOPNOTSUPP

Commit 319a1d19471e ("flow_offload: check for
basic action hw stats type") broke the implicit
assumption that it could only fail with -EINVAL,
by changing it to return -EOPNOTSUPP, when hardware
stats are requested.

However AFAICT it's not possible to trigger
qede_parse_actions() to return -EOPNOTSUPP, when
called from qede_flow_spec_to_rule(), as hardware
stats can't be requested by ethtool_rx_flow_rule_create().

This patch changes qede_flow_spec_to_rule() to use
the actual return code from qede_parse_actions(),
so it's no longer assumed that all errors are -EINVAL.

Only compile tested.

Signed-off-by: Asbjørn Sloth Tønnesen <ast@fiberby.net>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/qlogic/qede/qede_filter.c