From: Greg Kroah-Hartman Date: Fri, 27 Sep 2024 08:13:27 +0000 (+0200) Subject: drop bnxt patch X-Git-Tag: v6.1.112~22 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=467587f12bfb6d99432171d845284a457ca75c57;p=thirdparty%2Fkernel%2Fstable-queue.git drop bnxt patch --- diff --git a/queue-6.6/bnxt_en-cap-the-size-of-hwrm_port_phy_qcfg-forwarded-response.patch b/queue-6.6/bnxt_en-cap-the-size-of-hwrm_port_phy_qcfg-forwarded-response.patch deleted file mode 100644 index 42996a1d095..00000000000 --- a/queue-6.6/bnxt_en-cap-the-size-of-hwrm_port_phy_qcfg-forwarded-response.patch +++ /dev/null @@ -1,132 +0,0 @@ -From 7d9df38c9c037ab84502ce7eeae9f1e1e7e72603 Mon Sep 17 00:00:00 2001 -From: Michael Chan -Date: Wed, 12 Jun 2024 16:17:36 -0700 -Subject: bnxt_en: Cap the size of HWRM_PORT_PHY_QCFG forwarded response - -From: Michael Chan - -commit 7d9df38c9c037ab84502ce7eeae9f1e1e7e72603 upstream. - -Firmware interface 1.10.2.118 has increased the size of -HWRM_PORT_PHY_QCFG response beyond the maximum size that can be -forwarded. When the VF's link state is not the default auto state, -the PF will need to forward the response back to the VF to indicate -the forced state. This regression may cause the VF to fail to -initialize. - -Fix it by capping the HWRM_PORT_PHY_QCFG response to the maximum -96 bytes. The SPEEDS2_SUPPORTED flag needs to be cleared because the -new speeds2 fields are beyond the legacy structure. Also modify -bnxt_hwrm_fwd_resp() to print a warning if the message size exceeds 96 -bytes to make this failure more obvious. - -Fixes: 84a911db8305 ("bnxt_en: Update firmware interface to 1.10.2.118") -Reviewed-by: Somnath Kotur -Reviewed-by: Pavan Chebbi -Signed-off-by: Michael Chan -Link: https://lore.kernel.org/r/20240612231736.57823-1-michael.chan@broadcom.com -Signed-off-by: Jakub Kicinski -[Samasth: backport to 6.6.y] -Signed-off-by: Samasth Norway Ananda -Signed-off-by: Greg Kroah-Hartman ---- - drivers/net/ethernet/broadcom/bnxt/bnxt.h | 51 ++++++++++++++++++++++++ - drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c | 12 ++++- - 2 files changed, 61 insertions(+), 2 deletions(-) - ---- a/drivers/net/ethernet/broadcom/bnxt/bnxt.h -+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.h -@@ -1195,6 +1195,57 @@ struct bnxt_ntuple_filter { - #define BNXT_FLTR_UPDATE 1 - }; - -+/* Compat version of hwrm_port_phy_qcfg_output capped at 96 bytes. The -+ * first 95 bytes are identical to hwrm_port_phy_qcfg_output in bnxt_hsi.h. -+ * The last valid byte in the compat version is different. -+ */ -+struct hwrm_port_phy_qcfg_output_compat { -+ __le16 error_code; -+ __le16 req_type; -+ __le16 seq_id; -+ __le16 resp_len; -+ u8 link; -+ u8 active_fec_signal_mode; -+ __le16 link_speed; -+ u8 duplex_cfg; -+ u8 pause; -+ __le16 support_speeds; -+ __le16 force_link_speed; -+ u8 auto_mode; -+ u8 auto_pause; -+ __le16 auto_link_speed; -+ __le16 auto_link_speed_mask; -+ u8 wirespeed; -+ u8 lpbk; -+ u8 force_pause; -+ u8 module_status; -+ __le32 preemphasis; -+ u8 phy_maj; -+ u8 phy_min; -+ u8 phy_bld; -+ u8 phy_type; -+ u8 media_type; -+ u8 xcvr_pkg_type; -+ u8 eee_config_phy_addr; -+ u8 parallel_detect; -+ __le16 link_partner_adv_speeds; -+ u8 link_partner_adv_auto_mode; -+ u8 link_partner_adv_pause; -+ __le16 adv_eee_link_speed_mask; -+ __le16 link_partner_adv_eee_link_speed_mask; -+ __le32 xcvr_identifier_type_tx_lpi_timer; -+ __le16 fec_cfg; -+ u8 duplex_state; -+ u8 option_flags; -+ char phy_vendor_name[16]; -+ char phy_vendor_partnumber[16]; -+ __le16 support_pam4_speeds; -+ __le16 force_pam4_link_speed; -+ __le16 auto_pam4_link_speed_mask; -+ u8 link_partner_pam4_adv_speeds; -+ u8 valid; -+}; -+ - struct bnxt_link_info { - u8 phy_type; - u8 media_type; ---- a/drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c -+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c -@@ -942,8 +942,11 @@ static int bnxt_hwrm_fwd_resp(struct bnx - struct hwrm_fwd_resp_input *req; - int rc; - -- if (BNXT_FWD_RESP_SIZE_ERR(msg_size)) -+ if (BNXT_FWD_RESP_SIZE_ERR(msg_size)) { -+ netdev_warn_once(bp->dev, "HWRM fwd response too big (%d bytes)\n", -+ msg_size); - return -EINVAL; -+ } - - rc = hwrm_req_init(bp, req, HWRM_FWD_RESP); - if (!rc) { -@@ -1077,7 +1080,7 @@ static int bnxt_vf_set_link(struct bnxt - rc = bnxt_hwrm_exec_fwd_resp( - bp, vf, sizeof(struct hwrm_port_phy_qcfg_input)); - } else { -- struct hwrm_port_phy_qcfg_output phy_qcfg_resp = {0}; -+ struct hwrm_port_phy_qcfg_output_compat phy_qcfg_resp = {}; - struct hwrm_port_phy_qcfg_input *phy_qcfg_req; - - phy_qcfg_req = -@@ -1088,6 +1091,11 @@ static int bnxt_vf_set_link(struct bnxt - mutex_unlock(&bp->link_lock); - phy_qcfg_resp.resp_len = cpu_to_le16(sizeof(phy_qcfg_resp)); - phy_qcfg_resp.seq_id = phy_qcfg_req->seq_id; -+ /* New SPEEDS2 fields are beyond the legacy structure, so -+ * clear the SPEEDS2_SUPPORTED flag. -+ */ -+ phy_qcfg_resp.option_flags &= -+ ~PORT_PHY_QCAPS_RESP_FLAGS2_SPEEDS2_SUPPORTED; - phy_qcfg_resp.valid = 1; - - if (vf->flags & BNXT_VF_LINK_UP) { diff --git a/queue-6.6/series b/queue-6.6/series index a5953968a98..840668739c1 100644 --- a/queue-6.6/series +++ b/queue-6.6/series @@ -42,7 +42,6 @@ drm-expand-max-drm-device-number-to-full-minorbits.patch powercap-intel_rapl-add-support-for-amd-family-1ah.patch netfilter-nft_socket-make-cgroupsv2-matching-work-with-namespaces.patch netfilter-nft_socket-fix-a-null-vs-is_err-bug-in-nft_socket_cgroup_subtree_level.patch -bnxt_en-cap-the-size-of-hwrm_port_phy_qcfg-forwarded-response.patch netfilter-nft_set_pipapo-walk-over-current-view-on-netlink-dump.patch netfilter-nf_tables-missing-iterator-type-in-lookup-walk.patch revert-wifi-cfg80211-check-wiphy-mutex-is-held-for-wdev-mutex.patch