Previously, the ice driver had support for using a handler for bonding
netdev events to ensure that conflicting features were not allowed to be
activated at the same time. While this was still in place, additional
support was added to specifically support SRIOV and LAG together. These
both utilized the netdev event handler, but the SRIOV and LAG feature was
behind a capabilities feature check to make sure the current NVM has
support.
The exclusion part of the event handler should be removed since there are
users who have custom made solutions that depend on the non-exclusion of
features.
Wrap the creation/registration and cleanup of the event handler and
associated structs in the probe flow with a feature check so that the
only systems that support the full implementation of LAG features will
initialize support. This will leave other systems unhindered with
functionality as it existed before any LAG code was added.
Fixes: bb52f42acef6 ("ice: Add driver support for firmware changes for LAG")
Reviewed-by: Jesse Brandeburg <email address hidden>
Signed-off-by: Dave Ertman <email address hidden>
Reviewed-by: Simon Horman <email address hidden>
Tested-by: Pucha Himasekhar Reddy <email address hidden> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <email address hidden>
(cherry-picked from commit 4d50fcdc2476eef94c14c6761073af5667bb43b6)
Signed-off-by: Robert Malz <email address hidden>
Acked-by: Jacob Martin <email address hidden>
Acked-by: Andrei Gherzan <email address hidden>
Signed-off-by: Stefan Bader <email address hidden>
Add the defines, fields, and detection code for FW support of LAG for
SRIOV. Also exposes some previously static functions to allow access
in the lag code.
Clean up code that is unused or not needed for LAG support. Also add
an ordered workqueue for processing LAG events.
Reviewed-by: Daniel Machon <email address hidden>
Signed-off-by: Dave Ertman <email address hidden>
Tested-by: Sujai Buvaneswaran <email address hidden>
Signed-off-by: Tony Nguyen <email address hidden>
(backported from commit bb52f42acef6ac317ee298d39909ce17bbaddb82)
[rmalz: backported changes related to discovering device capabilities,
ignored mutex and workqueue implementation,
applied changes due to lack of ice_clear_feature_support function]
Signed-off-by: Robert Malz <email address hidden>
Acked-by: Jacob Martin <email address hidden>
Acked-by: Andrei Gherzan <email address hidden>
Signed-off-by: Stefan Bader <email address hidden>
7182acf...
by
Anirudh Venkataramanan <email address hidden>
ice: Add feature bitmap, helpers and a check for DSCP
DSCP a.k.a L3 QoS is only supported on certain devices. To enforce this,
this patch introduces a bitmap of features and helper functions.
The feature bitmap is set based on device IDs on driver init. Currently,
DSCP is the only feature in this bitmap, but there will be more in the
future. In the DCB netlink flow, check if the feature bit is set before
exercising DSCP.
Signed-off-by: Anirudh Venkataramanan <email address hidden>
Tested-by: Gurucharan G <email address hidden>
Signed-off-by: Tony Nguyen <email address hidden>
(backported from commit 40b247608bc50b5c046dfb1073c0ee7f57769c86)
[rmalz: backported feature bitmap implementation,
ignored check for DSCP]
Signed-off-by: Robert Malz <email address hidden>
Acked-by: Jacob Martin <email address hidden>
Acked-by: Andrei Gherzan <email address hidden>
Signed-off-by: Stefan Bader <email address hidden>
L2CAP/COS/CED/BI-02-C PTS test send a malformed L2CAP signaling packet
with 2 commands in it (a connection request and an unknown command) and
expect to get a connection response packet and a command reject packet.
The second is currently not sent.
Cc: <email address hidden>
Signed-off-by: Frédéric Danis <email address hidden>
Signed-off-by: Luiz Augusto von Dentz <email address hidden>
(cherry picked from commit 78b99eb1faa7371bf9c534690f26a71b6996622d)
Signed-off-by: Hui Wang <email address hidden>
Acked-by: Tim Gardner <email address hidden>
Acked-by: Andrei Gherzan <email address hidden>
Signed-off-by: Stefan Bader <email address hidden>
The original change results in a deadlock if jumbo mtu mode is used.
Reason is that the phydev lock is held when rtl_reset_work() is called
here, and rtl_jumbo_config() calls phy_start_aneg() which also tries
to acquire the phydev lock. Fix this by calling rtl_reset_work()
asynchronously.
Fixes: 621735f59064 ("r8169: fix rare issue with broken rx after link-down on RTL8125")
Reported-by: Ian Chen <email address hidden>
Tested-by: Ian Chen <email address hidden>
Cc: <email address hidden>
Signed-off-by: Heiner Kallweit <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Paolo Abeni <email address hidden>
Signed-off-by: Sasha Levin <email address hidden>
Signed-off-by: Portia Stephens <email address hidden>
Signed-off-by: Stefan Bader <email address hidden>
There are still single reports of systems where ASPM incompatibilities
cause tx timeouts. It's not clear whom to blame, so let's disable
ASPM in case of a tx timeout.
v2:
- add one-time warning for informing the user
Signed-off-by: Heiner Kallweit <email address hidden>
Reviewed-by: Alexander Duyck <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Jakub Kicinski <email address hidden>
Stable-dep-of: 59d395ed606d ("r8169: fix deadlock on RTL8125 in jumbo mtu mode")
Signed-off-by: Sasha Levin <email address hidden>
Signed-off-by: Portia Stephens <email address hidden>
Signed-off-by: Stefan Bader <email address hidden>