Re: [PATCH for-rc] RDMA/efa: Add shutdown notifier

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Michael,

Thanks a lot for the patch.

Thanks,
Tao Liu

On Thu, Apr 25, 2024 at 3:52 PM Michael Margolin <mrgolin@xxxxxxxxxx> wrote:
>
> Add driver function to stop the device and release any active IRQs as
> preparation for shutdown. This should fix issues cased by unexpected AQ
> interrupts when booting kernel using kexec and possible data integrity
> issues when the system is being shutdown during traffic.
>
> Reviewed-by: Firas Jahjah <firasj@xxxxxxxxxx>
> Reviewed-by: Yonatan Nachum <ynachum@xxxxxxxxxx>
> Signed-off-by: Michael Margolin <mrgolin@xxxxxxxxxx>
> ---
>  drivers/infiniband/hw/efa/efa_main.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
>
> diff --git a/drivers/infiniband/hw/efa/efa_main.c b/drivers/infiniband/hw/efa/efa_main.c
> index 5fa3603c80d8..d1a48f988f6c 100644
> --- a/drivers/infiniband/hw/efa/efa_main.c
> +++ b/drivers/infiniband/hw/efa/efa_main.c
> @@ -671,11 +671,22 @@ static void efa_remove(struct pci_dev *pdev)
>         efa_remove_device(pdev);
>  }
>
> +static void efa_shutdown(struct pci_dev *pdev)
> +{
> +       struct efa_dev *dev = pci_get_drvdata(pdev);
> +
> +       efa_destroy_eqs(dev);
> +       efa_com_dev_reset(&dev->edev, EFA_REGS_RESET_SHUTDOWN);
> +       efa_free_irq(dev, &dev->admin_irq);
> +       efa_disable_msix(dev);
> +}
> +
>  static struct pci_driver efa_pci_driver = {
>         .name           = DRV_MODULE_NAME,
>         .id_table       = efa_pci_tbl,
>         .probe          = efa_probe,
>         .remove         = efa_remove,
> +       .shutdown       = efa_shutdown,
>  };
>
>  module_pci_driver(efa_pci_driver);
> --
> 2.40.1
>






[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux