From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-dy1-f177.google.com (mail-dy1-f177.google.com [74.125.82.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AB29B36495A for ; Wed, 1 Apr 2026 07:53:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.177 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775030013; cv=none; b=cVakDax5dGFWgiVvQZYL+gD8l7T0IB72vau1QOUVdcpJmGE2vFjQJhuf1IcChWV65L9ECbEZ7SlhgHIFrG3F+QCSG+SLbvZ6+9Y9k0z2StnmPR7Qk54RdKxLpzxIWNfMJxvmYlXGL9VV63KEWYZ7QrX4Wu3hnK+nWku4awXhhpQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775030013; c=relaxed/simple; bh=Iw8UWtcVlc0hciFLFi9H4GtBrzJdZOWJyX4eXzCH07o=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=NZvYS9xHQQ+GLDc7o1SQ1pMbZhf6LMPNyQ+dMKxH7D/pzIHMJsKtoUgDdekSEaQcffwVmOBNX+Ti5JbXE+IMeiLRPWCzUkGjM3nvu2yuzF+6sai0Arpch6wxhdW8v67gzxZZToke54QP1U01vgIgcByiyqS+96+e5tUPLMqawjI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=svVPWyuY; arc=none smtp.client-ip=74.125.82.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="svVPWyuY" Received: by mail-dy1-f177.google.com with SMTP id 5a478bee46e88-2c87871133dso1534110eec.0 for ; Wed, 01 Apr 2026 00:53:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775030012; x=1775634812; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=aYAA012nkWBP0515TOKa+rT4aCB7eVy71smoodsA2VY=; b=svVPWyuYSpuum/KP5FjKlYhoHLL8h4QQ7QUUltlQV/iB6zHUvxlosKFOTt+GfOgzUL wiwKAmTPq5zKmq3BP60mXRMR6ok7gnzzD5HkgiOHoCiHtnzdeAsCXZNC8I84h++GVjqg uU8cdz7Qusbd9Pi+1Tfh+DAbwmy1OTxL7yezLcGfM1iJ7fU+ollVEdhZgDKTuak2hSiE mXFys+zhYIOuTjxItFNJ6vCpDrF/qQga2/MmC5BW33nVdel0T1rocSppfvcja7GCML0y 7PCtmRYYCbWVxAYKvwbXavNOmLscPtepOGc/dL395cQIXzIZEitHrkx3SxfjYknOYENV isUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775030012; x=1775634812; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=aYAA012nkWBP0515TOKa+rT4aCB7eVy71smoodsA2VY=; b=oDhcq7CyHW7hsn6YqzH+FqcVTwLrHzIYDiGzPGevOLKXKRelDlsDziiy7EgjV3kSD5 7K/PjbIl8Wf0cqOFKg5ZhjhFKYmaxz8pZpbhoXcNZ0bweu67XyqjNYefCwWtrYXpCvQB 7CmyujNfOgrJcBMQ2xC6WS2/iSgxUvDxqPQ9d0uB2hyzWKf4JaoyAlyA79Nn3ErLmLrc 8/Y28pjLTzKJgVByOESyoA0gfQLHCWfU07c6BN90ZaQ57sWixhGGMdmKYI70a+LTzhos uXL26Z2b3t70bCudq1QdiNug37sT0P6NnKiDdE8Vxr9TmTom+bhto/EwSiZnayH3Bu0Y RAYQ== X-Gm-Message-State: AOJu0YzuSZkc9fcNNuXQqd3kUBoTmdC/iacl3wdSv+TGsmqMgGMT9apS iTAcC8omm5nvEIpjAeLL5DjT3rzYRZhRqIQpN0L0OblrhzWnOrZKbB9y X-Gm-Gg: ATEYQzxNxeM2sVg7xg4k0hOEtUOaB5A/2Y1iP+tcunZX0CnfnqC6Bke8tgTG/48tXqo ZhIXWRoy9KFLx/pY7FZbfzItIs8D/UqkOS98DuYq6HwXwxIvVp7k7yI0OxC/Qum+gIqH1ufCqlk +k/7h7DYXpQXwBE5PU4rUh2cxHun4uRA86YQHjiGQR3TpvvyOwSKLT/QJhZr/rxWHaJV052tIH5 V5kl9iHpkoHbOCG3V4D/xxAP4BMqs9mSM7uJsc12uBnlSSd4SK9yrKjOWjuHNzFayZutMcE3+Tg lnjr+XWfYkQcnrcQoEsiWwG5pDYxQNc8OqlVuA1UfO7YZSy0D7ridcd5Q0n3A70HRN2zDnKn8aI KwsDS5cLKTuTu+t8wA3qutksP5tgYQIIe1Pdkf68Wp3+Z2eg5d+/2shcqj9AVlrAKOfKbIStQzU 1q0+lOPonm7DcFYElxd+jZi3GKbJNC5wcz7RDRRF6pChvwwBV7pckfPdSDA1K1 X-Received: by 2002:a05:7300:6d1f:b0:2be:833c:149d with SMTP id 5a478bee46e88-2c9325b4835mr1497608eec.28.1775030011765; Wed, 01 Apr 2026 00:53:31 -0700 (PDT) Received: from ?IPV6:2620:10d:c085:21e1::139a? ([2620:10d:c090:400::5:51bb]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2c3c4cbbc1fsm11662388eec.13.2026.04.01.00.53.30 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 01 Apr 2026 00:53:31 -0700 (PDT) Message-ID: <3b252b2b-6be7-4a8d-9782-39695e948635@gmail.com> Date: Wed, 1 Apr 2026 00:53:30 -0700 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH net-next v03 4/6] hinic3: Add ethtool rss ops To: Fan Gong , Zhu Yikai , netdev@vger.kernel.org, "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Andrew Lunn , Ioana Ciornei Cc: linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, luosifu , Xin Guo , Zhou Shuai , Wu Like , Shi Jing , Zheng Jiezhen , Maxime Chevallier References: Content-Language: en-US From: Mohsin Bashir In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit > /* hilink mac group command */ > diff --git a/drivers/net/ethernet/huawei/hinic3/hinic3_rss.c b/drivers/net/ethernet/huawei/hinic3/hinic3_rss.c > index 25db74d8c7dd..1c8aea9d8887 100644 > --- a/drivers/net/ethernet/huawei/hinic3/hinic3_rss.c > +++ b/drivers/net/ethernet/huawei/hinic3/hinic3_rss.c > @@ -155,7 +155,7 @@ static int hinic3_set_rss_type(struct hinic3_hwdev *hwdev, > L2NIC_CMD_SET_RSS_CTX_TBL, &msg_params); > > if (ctx_tbl.msg_head.status == MGMT_STATUS_CMD_UNSUPPORTED) { > - return MGMT_STATUS_CMD_UNSUPPORTED; > + return -EOPNOTSUPP; Looks like an unrelated change? > } else if (err || ctx_tbl.msg_head.status) { > dev_err(hwdev->dev, "mgmt Failed to set rss context offload, err: %d, status: 0x%x\n", > err, ctx_tbl.msg_head.status); > @@ -165,6 +165,39 @@ static int hinic3_set_rss_type(struct hinic3_hwdev *hwdev, > return 0; > } > > +static int hinic3_set_rss_hash_opts(struct net_device *netdev, > + struct ethtool_rxnfc *cmd) > +{ > + struct hinic3_nic_dev *nic_dev = netdev_priv(netdev); > + struct hinic3_rss_type *rss_type; > + int err; > + > + rss_type = &nic_dev->rss_type; > + > + if (!test_bit(HINIC3_RSS_ENABLE, &nic_dev->flags)) { > + cmd->data = 0; > + netdev_err(netdev, "RSS is disable, not support to set flow-hash\n"); > + return -EOPNOTSUPP; > + } > + > + /* RSS only supports hashing of IP addresses and L4 ports */ > + if (cmd->data & ~(RXH_IP_SRC | RXH_IP_DST | > + RXH_L4_B_0_1 | RXH_L4_B_2_3)) > + return -EINVAL; > + > + /* Both IP addresses must be part of the hash tuple */ > + if (!(cmd->data & RXH_IP_SRC) || !(cmd->data & RXH_IP_DST)) > + return -EINVAL; > + > + err = hinic3_get_rss_type(nic_dev->hwdev, rss_type); > + if (err) { > + netdev_err(netdev, "Failed to get rss type\n"); > + return err; > + } > + > + err = hinic3_update_rss_hash_opts(netdev, cmd, rss_type); > + if (err) > + return err; > + > + err = hinic3_set_rss_type(nic_dev->hwdev, *rss_type); So if we fail here, we have already modified the rss_type in-place. From this on-wards, the HW state would diverge from in-memory state. How about use a local copy and only update if no error? > + if (err) { > + netdev_err(netdev, "Failed to set rss type\n"); > + return err; > + } > + > + return 0; > +} > +