mbox series

[net-next,0/8] pds_core: Various improvements and AQ race condition cleanup

Message ID 20240104171221.31399-1-brett.creeley@amd.com (mailing list archive)
Headers show
Series pds_core: Various improvements and AQ race condition cleanup | expand

Message

Brett Creeley Jan. 4, 2024, 5:12 p.m. UTC
There can be many users of the pds_core's adminq. This includes
pds_core's uses and any clients that depend on it. When the pds_core
device goes through a reset for any reason the adminq is freed
and reconfigured. There are some gaps in the current implementation
that will cause crashes during reset if any of the previously mentioned
users of the adminq attempt to use it after it's been freed. This series
addresses these issues.

This series also includes some general cleanups.

Brett Creeley (8):
  pds_core: Prevent health thread from running during reset/remove
  pds_core: Cancel AQ work on teardown
  pds_core: Use struct pdsc for the pdsc_adminq_isr private data
  pds_core: Prevent race issues involving the adminq
  pds_core: Clear BARs on reset
  pds_core: Don't assign interrupt index/bound_intr to notifyq
  pds_core: Unmask adminq interrupt in work thread
  pds_core: Fix up some RCT issues

 drivers/net/ethernet/amd/pds_core/adminq.c  | 74 ++++++++++++++-------
 drivers/net/ethernet/amd/pds_core/core.c    | 38 +++++++++--
 drivers/net/ethernet/amd/pds_core/core.h    |  1 +
 drivers/net/ethernet/amd/pds_core/debugfs.c |  8 +--
 drivers/net/ethernet/amd/pds_core/dev.c     |  9 ++-
 drivers/net/ethernet/amd/pds_core/devlink.c |  3 +-
 drivers/net/ethernet/amd/pds_core/fw.c      |  3 +
 drivers/net/ethernet/amd/pds_core/main.c    | 24 ++++++-
 8 files changed, 123 insertions(+), 37 deletions(-)

Comments

Przemek Kitszel Jan. 5, 2024, 7:59 a.m. UTC | #1
On 1/4/24 18:12, Brett Creeley wrote:
> There can be many users of the pds_core's adminq. This includes
> pds_core's uses and any clients that depend on it. When the pds_core
> device goes through a reset for any reason the adminq is freed
> and reconfigured. There are some gaps in the current implementation
> that will cause crashes during reset if any of the previously mentioned
> users of the adminq attempt to use it after it's been freed. This series
> addresses these issues.
> 
> This series also includes some general cleanups.
> 
> Brett Creeley (8):
>    pds_core: Prevent health thread from running during reset/remove
>    pds_core: Cancel AQ work on teardown
>    pds_core: Use struct pdsc for the pdsc_adminq_isr private data
>    pds_core: Prevent race issues involving the adminq
>    pds_core: Clear BARs on reset
>    pds_core: Don't assign interrupt index/bound_intr to notifyq
>    pds_core: Unmask adminq interrupt in work thread
>    pds_core: Fix up some RCT issues
> 
>   drivers/net/ethernet/amd/pds_core/adminq.c  | 74 ++++++++++++++-------
>   drivers/net/ethernet/amd/pds_core/core.c    | 38 +++++++++--
>   drivers/net/ethernet/amd/pds_core/core.h    |  1 +
>   drivers/net/ethernet/amd/pds_core/debugfs.c |  8 +--
>   drivers/net/ethernet/amd/pds_core/dev.c     |  9 ++-
>   drivers/net/ethernet/amd/pds_core/devlink.c |  3 +-
>   drivers/net/ethernet/amd/pds_core/fw.c      |  3 +
>   drivers/net/ethernet/amd/pds_core/main.c    | 24 ++++++-
>   8 files changed, 123 insertions(+), 37 deletions(-)
> 

very nice series, I didn't spot any problems with the code,
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>