Re: [PATCH net-next 0/9] Add support of VF Reset to HNS3 VF driver

From: David Miller
Date: Thu Mar 22 2018 - 15:34:50 EST


From: Salil Mehta <salil.mehta@xxxxxxxxxx>
Date: Thu, 22 Mar 2018 14:28:51 +0000

> This patch-set adds the support of VF reset to the existing VF driver.
> VF Reset can be triggered due to TX watchdog firing as a result of TX
> data-path not working. VF reset could also be a result of some internal
> configuration changes if that requires reset, or as a result of the
> PF/Core/Global/IMP(Integrated Management Processor) reset happened in
> the PF.
>
> Summary of Patches:
> * Watchdog timer trigger chnages are present in Patch 1.
> * Reset Service Task and related Event handling is present in Patches {2,3}
> * Changes to send reset request to PF, reset stack and re-initialization
> of the hclge device is present in Patches {4,5,6}
> * Changes related to ARQ (Asynchronous Receive Queue) and its event handling
> are present in Patches {7,8}
> * Changes required in PF to handle the VF Reset request and actually perform
> hardware VF reset is there in Patch 9.
>
>
> NOTE: This patch depends upon "[PATCH net-next 00/11] fix some bugs for HNS3 driver"
> Link: https://lkml.org/lkml/2018/3/21/72

Series applied, thank you.

Please audit your usage of the various reset state bits.

In most places you do the correct atomic sequence by making use of
test_and_set_bit() and test_and_clear_bit().

But in some cases you do things like:

if (!test_bit(X) && !test_bit(Y)) {
...
set_bit(Y);
}

which is racy.