[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <32847384-5513-3249-4b35-c81f6d1ee566@intel.com>
Date: Tue, 1 Aug 2023 12:25:59 +0200
From: Przemek Kitszel <przemyslaw.kitszel@...el.com>
To: <intel-wired-lan@...ts.osuosl.org>, Tony Nguyen
<anthony.l.nguyen@...el.com>
CC: <netdev@...r.kernel.org>, Jacob Keller <jacob.e.keller@...el.com>, "Jesse
Brandeburg" <jesse.brandeburg@...el.com>
Subject: Re: [PATCH] ice: split ice_aq_wait_for_event() func into two
On 8/1/23 12:15, Przemek Kitszel wrote:
> Mitigate race between registering on wait list and receiving
> AQ Response from FW.
>
> ice_aq_prep_for_event() should be called before sending AQ command,
> ice_aq_wait_for_event() should be called after sending AQ command,
> to wait for AQ Response.
>
> struct ice_aq_task is exposed to callers, what takes burden of memory
> ownership out from AQ-wait family of functions.
>
> Embed struct ice_rq_event_info event into struct ice_aq_task
> (instead of it being a ptr), to remove some more code from the callers.
>
> Additional fix: one of the checks in ice_aq_check_events() was off by one.
>
> Please note, that this was found by reading the code,
> an actual race has not yet materialized.
>
> Signed-off-by: Przemek Kitszel <przemyslaw.kitszel@...el.com>
> ---
> drivers/net/ethernet/intel/ice/ice.h | 21 +++-
> .../net/ethernet/intel/ice/ice_fw_update.c | 45 +++++----
> drivers/net/ethernet/intel/ice/ice_main.c | 98 +++++++++----------
> 3 files changed, 92 insertions(+), 72 deletions(-)
>
Ouch, I've forgot to mention that it is for IWL-next, will send v2
tomorrow with proper tag :~
Powered by blists - more mailing lists