[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200724.194417.2151242753657227232.davem@davemloft.net>
Date: Fri, 24 Jul 2020 19:44:17 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: snelson@...sando.io
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH net-next 2/4] ionic: recover from ringsize change
failure
From: Shannon Nelson <snelson@...sando.io>
Date: Fri, 24 Jul 2020 17:23:24 -0700
> If the ringsize change fails, try restoring the previous setting.
>
> Signed-off-by: Shannon Nelson <snelson@...sando.io>
You really can't recover properly, or reliably, with the way all of this
is structured in the ionic driver. This is at best a half attempt at
error recovery.
Doing a full ionic_open() call abstracts things too heavily.
What you need to do is save away the current queue memory and object,
without freeing them, and only release them when you can successfully
setup the new queues.
This is the only way you can properly recover from errors in this
operation, with a proper check/commit sequence.
I'd rather not merge half solutions to this problem, sorry.
Powered by blists - more mailing lists