From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-dl1-f43.google.com (mail-dl1-f43.google.com [74.125.82.43]) (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 64F3F3A2540 for ; Fri, 29 May 2026 05:30:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.43 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780032622; cv=none; b=S2fsXxQTwKfokoaPWL8KYUUlBQZVAaZ/uwkmnpmx5k2T1nyuFm5S921u0uZm3rlHvL/y375x4sa1csKyRiSwV15xX3mn0wpr/cG7k2rpyCbUK8fZL4YhTv0RNpG9shb9rziDJ/X+aBuKX1CjirRMLnFzwXgRNr6fxbMIOvJaZC4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780032622; c=relaxed/simple; bh=jQRuadW4ipCNWKXC6bZwaj6vtlzEjMOxMjmPAtj9zUY=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=Ei0ypPMYdixOjpLdxEhpxokYEfYcRE9IW8joY+OB1924xOA/g7bnn6RJvQzTzhbhO26+icE4dNaouykZcnqvg3prWzZ/kNau45RDQPckgugqebDuLF+txiOXfUeUMZOzZifYFGh38IVJvGEvFUDE8WL/Z/ei+nCc3kzv4U9Su6A= 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=U6+J6enm; arc=none smtp.client-ip=74.125.82.43 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="U6+J6enm" Received: by mail-dl1-f43.google.com with SMTP id a92af1059eb24-132d1b2519eso9701972c88.0 for ; Thu, 28 May 2026 22:30:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780032620; x=1780637420; 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=oOhAPE7Hmb6u6mGyw2ElJiYEhXMYwY57RoxbsdcyxYg=; b=U6+J6enmDGWuN00ovS1ALSu2bpOTKwbR0GN10EL8KjwugYQ6EUPSIpcYbWQ7t3Dl17 nsJ0UArrpoYdrn58n3DAA/Ed29RLHi6n06CNIpX616tZEMQu9j7/IfS2CTAHHtmvGxkj LvGv86bqHTPw5sVkqLFcNMBvKQqkMoVN5lLJEBrePE9C7AFSYvtSH8vM5BbPi0aETor1 4L5/1xW1kwWtgCICfv/YYPTM5oFR/s4qkL+CqWVXbRahnE2VtM+3AQSA7GMKNFTGRZ+Y I+6jp8dWx1c4ZsBnfVqRsXx3BHhLbNw8YwZeaMlD0/6YHHKVbhSyqsY3483uinRtTlQ3 M6yg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780032620; x=1780637420; 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=oOhAPE7Hmb6u6mGyw2ElJiYEhXMYwY57RoxbsdcyxYg=; b=r6DileIlc4KkWNcEn0CGAVaz/wdMnRgXTaQ+WKjWQL24wwndZ7dmUAQeXQbIyHd426 5YI5R4r6pafi/z2oZzM7Tf2WqAhqdev/TpGuoNrxMCKdWOvoENE7E6o5gkDyDQ2xai0A qPAD63kL3BZDqG+Ww5yz0KTFXNdXjUSn7rcnoMMvUmHH1lFtyhfhAp3yYoCaZx91mw92 BfuokKDWp/IKERFmDVmjVcQu+xTJQTFvobFw2QWpwjsL4ZVJXSTt1OaogrD8T00+mOQF wRYVHfXV0ooONNKcWM9crPTprZIlho/xoYyj3cstQX1ees16SfU0QKRJRx9HcOf5rHu4 ILkQ== X-Gm-Message-State: AOJu0YweW3f1aJMOdGiUPt7O09RAlCj2ChHb96cIu1A4kGuzZiRcwlNf +0CLpfdOBvmAPeG7CJjdiHMol27eHQ6HPg1qB6Vvln4bei6nR/QnfUwY X-Gm-Gg: Acq92OGStGm5XoJOc1OJAei77KEqbQ4MepVf55Xy93u2d6gNYKQH7z68cFiH7XtpVLs owwqMZXficTRvB89ASRK0RtAClZQPsFG+HIIxwuPLtAvxR5qfDLkr8+YH1oPFcLIgfOOn2JrbJJ ESe2yy9QnfbFUS8E9Q4FJivkg+TGAQgWj/r5J9gpwsx+5OCSn9xwTG2jP74nEtIa05T86h6yzC3 gM4g4bNygf8UY4tY3pEw1THLN7fNmGkD4xgi8uD0JYpos+ThqjPMt2PsfR1nQ/iBF8Pgzp/tpcK tSYuR9SKROWZ0AE/A9NWc2gEewOX6onzRblz3EwLOpsa2m5KczAm8LjUEc3/oSVECN6v1tedi6s 1n0T22K2OJ/lggF1hVBiMrOaeOWV2kKC3PxeZAFxQrUrBQG/UG8zjx1jtwxjJEsK95+hfMFM0zd NX7+uipM0+TRTnleZYPYpAlam3fA6L6mYKTSg7BzP0kFVHsQMhWu+/37roUNt/T/Y7Hw== X-Received: by 2002:a05:7022:f84:b0:137:699d:7b95 with SMTP id a92af1059eb24-137af647ee5mr582575c88.19.1780032618982; Thu, 28 May 2026 22:30:18 -0700 (PDT) Received: from ?IPV6:2620:10d:c085:21c8::1024? ([2620:10d:c090:400::5:c891]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-137b3c7e4ebsm598300c88.12.2026.05.28.22.30.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 28 May 2026 22:30:18 -0700 (PDT) Message-ID: Date: Fri, 29 May 2026 10:30:03 +0500 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 v07 1/6] hinic3: Add ethtool queue 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: <1323cad7ba784efa29a3fd1475b744974e0a0cf5.1779940072.git.zhuyikai1@h-partners.com> Content-Language: en-US From: Mohsin Bashir In-Reply-To: <1323cad7ba784efa29a3fd1475b744974e0a0cf5.1779940072.git.zhuyikai1@h-partners.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit > +int > +hinic3_change_channel_settings(struct net_device *netdev, > + struct hinic3_dyna_txrxq_params *trxq_params) > +{ > + struct hinic3_nic_dev *nic_dev = netdev_priv(netdev); > + struct hinic3_dyna_txrxq_params cur_trxq_params = {}; > + struct hinic3_dyna_qp_params new_qp_params = {}; > + struct hinic3_dyna_qp_params cur_qp_params = {}; > + int err; > + > + cur_trxq_params = nic_dev->q_params; > + > + hinic3_config_num_qps(netdev, trxq_params); > + > + err = hinic3_alloc_channel_resources(netdev, &new_qp_params, > + trxq_params); > + if (err) { > + netdev_err(netdev, "Failed to alloc channel resources\n"); > + return err; > + } > + > + if (!test_and_set_bit(HINIC3_CHANGE_RES_INVALID, &nic_dev->flags)) { > + hinic3_vport_down(netdev); > + hinic3_close_channel(netdev); > + hinic3_get_cur_qps(nic_dev, &cur_qp_params); > + } > + > + hinic3_init_qps(nic_dev, &new_qp_params); > + > + err = hinic3_prepare_channel(netdev, trxq_params); > + if (err) > + goto err_uninit_qps; It may just be me, but looks like a failure here is not restoring the old state. You are correctly getting the new resources and freeing them, but don't you think a call to hinic3_init_qps() is needed here with older config? > + > + if (nic_dev->num_qp_irq > trxq_params->num_qps) > + hinic3_qp_irq_change(netdev, trxq_params->num_qps); > + > + nic_dev->q_params = *trxq_params; > + > + err = hinic3_open_channel(netdev); > + if (err) > + goto err_qp_irq_reset; > + > + err = hinic3_vport_up(netdev); > + if (err) > + goto err_close_channel; > + > + hinic3_free_channel_resources(netdev, &cur_qp_params, &cur_trxq_params); > + > + clear_bit(HINIC3_CHANGE_RES_INVALID, &nic_dev->flags); > + > + return 0; > + > +err_close_channel: > + hinic3_close_channel(netdev); > +err_qp_irq_reset: > + nic_dev->q_params = cur_trxq_params; > + > + if (trxq_params->num_qps > cur_trxq_params.num_qps) > + hinic3_qp_irq_change(netdev, cur_trxq_params.num_qps); > +err_uninit_qps: > + hinic3_get_cur_qps(nic_dev, &new_qp_params); > + hinic3_free_channel_resources(netdev, &new_qp_params, trxq_params); > + > + return err; > +} > +