From: Simon Horman <horms@kernel.org>
To: Cyrill Gorcunov <gorcunov@gmail.com>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
anthony.l.nguyen@intel.com, przemyslaw.kitszel@intel.com
Subject: Re: [PATCH v2] ice: Fix wrong dsn read in ice_adapter_put
Date: Wed, 20 May 2026 19:03:24 +0100 [thread overview]
Message-ID: <20260520180324.GC988238@horms.kernel.org> (raw)
In-Reply-To: <agsj4Rrexhkqao0c@grain>
On Mon, May 18, 2026 at 05:36:17PM +0300, Cyrill Gorcunov wrote:
> On Mon, May 18, 2026 at 01:02:32PM +0300, Cyrill Gorcunov wrote:
> ...
> >
> > Thinking more I think I got what sashiko meant here: the pullout of the
> > adapter when it been in recovery mode already, and reading register state
> > is obviously incorrect here too, instead we have to save the state upon
> > probing in some flag and use it later. I'll update the patch.
>
> Here is an updated. Actually even in recovery mode the ice_deinit_devlink()
> may call for rd32() with undefined result as
>
> | ice_health_deinit
> | ice_config_health_events
> | ice_sq_send_cmd_retry
> | ice_sq_send_cmd
>
> unless I miss something obvious... (i don't address this in the patch).
> Please take a look once time permits.
>
> ---
> From: Cyrill Gorcunov <gorcunov@gmail.com>
> Subject: [PATCH v3] ice: Fix wrong dsn read in ice_adapter_put
>
> When registering an adapter instance, we read the PCI configuration
> space to fetch the DSN and generate an adapter index for lookups.
>
> However, if the adapter has been physically unplugged, the PCI space
> is no longer accessible. Reading it returns a zero value, which results
> in either an incorrect adapter instance being put or the proper instance
> not being put at all. To fix this, we will use the previously known
> index instead.
>
> Similar applies to recovery mode detection -- if card has been in
> recovery mode and physically removed we're not allowed to read its
> state from hardware registers but rather provide state flag for
> this.
>
> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Thanks Cyrill,
I agree that this is a good approach.
I might suggest splitting the patch in two:s
1. introduce and use ICE_FW_RECOVERY_MODE
2. Address dns nread in ice_adapter_put
next prev parent reply other threads:[~2026-05-20 18:03 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-13 9:09 [PATCH] ice: Fix wrong dsn read in ice_adapter_put Cyrill Gorcunov
2026-05-17 12:53 ` Simon Horman
2026-05-17 22:21 ` [PATCH v2] " Cyrill Gorcunov
2026-05-18 10:02 ` Cyrill Gorcunov
2026-05-18 14:36 ` Cyrill Gorcunov
2026-05-20 18:03 ` Simon Horman [this message]
2026-05-20 18:57 ` Cyrill Gorcunov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260520180324.GC988238@horms.kernel.org \
--to=horms@kernel.org \
--cc=anthony.l.nguyen@intel.com \
--cc=gorcunov@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=przemyslaw.kitszel@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.