From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ED1EF31159C; Thu, 28 May 2026 20:40:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780000813; cv=none; b=Z6hB02/foJvrwnQOfz/pXtmH/hM/PEHXPV6dxDdDGPVWvpxoCdtHKbZ6G+XXc0Sm3CYahdVW411DT9wOwXEs+0X5ZGLUMLsqnQi3Dd66DgjSU/PNbxRigPHvhVEBVMqL/5hqATNzGitElFaXsI7p9McaPXqzt9FIQzfUVHnr5sc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780000813; c=relaxed/simple; bh=cuMVo56CDjaf+AUVJ4cjuhXO1k/BjMsSIjOG9v2qrjA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Zeu1vR1eZQUvrPbb2M1gtj/mRuK+4N97qO+Z39uGXOsxWVrLUUvh2bCYrWahrd7ZJjLBY6nja382Ze3XTk7bVJau9/ElZZoky20JnLk4AL8ysDqFo4twEfPR9ihlH+57T5fqYM2mR7qk4EBAZ/fSw3gWH15fiYNZczxekYjlvGs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=YVASn1me; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="YVASn1me" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 113911F000E9; Thu, 28 May 2026 20:40:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=korg; t=1780000811; bh=HVxMVbCh4+OtCYjF4JHC1A3fBXNKHqmYBgCyJDB+mcA=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=YVASn1mejjl6ohHrwSQZ8cxcw5tnCj53WyhkevYx07w+bpITOu9W5vS/QulpGXKRy lYEUoCkrSbzBvGcDA8HjP8CAI6DRCXrmUYOt6r4HafvcwMQwgGW/lclnu2lkWZZm1b Jj5qFf4WP9xgB/kefLk6UyMeCqdyLjKVQq4dNOus= From: Greg Kroah-Hartman To: stable@vger.kernel.org Cc: Greg Kroah-Hartman , patches@lists.linux.dev, Aleksandr Loktionov , Przemek Kitszel , Marcin Szycik , Jacob Keller , Jakub Kicinski , Sasha Levin Subject: [PATCH 6.12 178/272] ice: fix setting RSS VSI hash for E830 Date: Thu, 28 May 2026 21:49:12 +0200 Message-ID: <20260528194634.287856530@linuxfoundation.org> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260528194629.379955525@linuxfoundation.org> References: <20260528194629.379955525@linuxfoundation.org> User-Agent: quilt/0.69 X-stable: review X-Patchwork-Hint: ignore Precedence: bulk X-Mailing-List: patches@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 6.12-stable review patch. If anyone has any objections, please let me know. ------------------ From: Marcin Szycik [ Upstream commit b3cda96feb60d91fe88d52b974ff110dcfa91239 ] ice_set_rss_hfunc() performs a VSI update, in which it sets hashing function, leaving other VSI options unchanged. However, ::q_opt_flags is mistakenly set to the value of another field, instead of its original value, probably due to a typo. What happens next is hardware-dependent: On E810, only the first bit is meaningful (see ICE_AQ_VSI_Q_OPT_PE_FLTR_EN) and can potentially end up in a different state than before VSI update. On E830, some of the remaining bits are not reserved. Setting them to some unrelated values can cause the firmware to reject the update because of invalid settings, or worse - succeed. Reproducer: sudo ethtool -X $PF1 equal 8 Output in dmesg: Failed to configure RSS hash for VSI 6, error -5 Fixes: 352e9bf23813 ("ice: enable symmetric-xor RSS for Toeplitz hash function") Reviewed-by: Aleksandr Loktionov Reviewed-by: Przemek Kitszel Signed-off-by: Marcin Szycik Signed-off-by: Jacob Keller Link: https://patch.msgid.link/20260506-jk-iwl-net-2026-05-04-v2-5-a5ea4dc837a9@intel.com Signed-off-by: Jakub Kicinski Signed-off-by: Sasha Levin --- drivers/net/ethernet/intel/ice/ice_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c index 2a629b9a9e03a..664bedfbd8054 100644 --- a/drivers/net/ethernet/intel/ice/ice_main.c +++ b/drivers/net/ethernet/intel/ice/ice_main.c @@ -8108,7 +8108,7 @@ int ice_set_rss_hfunc(struct ice_vsi *vsi, u8 hfunc) ctx->info.q_opt_rss |= FIELD_PREP(ICE_AQ_VSI_Q_OPT_RSS_HASH_M, hfunc); ctx->info.q_opt_tc = vsi->info.q_opt_tc; - ctx->info.q_opt_flags = vsi->info.q_opt_rss; + ctx->info.q_opt_flags = vsi->info.q_opt_flags; err = ice_update_vsi(hw, vsi->idx, ctx, NULL); if (err) { -- 2.53.0