@@ -469,7 +469,6 @@ static void efa_ib_device_remove(struct efa_dev *dev)
469
469
ibdev_info (& dev -> ibdev , "Unregister ib device\n" );
470
470
ib_unregister_device (& dev -> ibdev );
471
471
efa_destroy_eqs (dev );
472
- efa_com_dev_reset (& dev -> edev , EFA_REGS_RESET_NORMAL );
473
472
efa_release_doorbell_bar (dev );
474
473
}
475
474
@@ -642,12 +641,14 @@ static struct efa_dev *efa_probe_device(struct pci_dev *pdev)
642
641
return ERR_PTR (err );
643
642
}
644
643
645
- static void efa_remove_device (struct pci_dev * pdev )
644
+ static void efa_remove_device (struct pci_dev * pdev ,
645
+ enum efa_regs_reset_reason_types reset_reason )
646
646
{
647
647
struct efa_dev * dev = pci_get_drvdata (pdev );
648
648
struct efa_com_dev * edev ;
649
649
650
650
edev = & dev -> edev ;
651
+ efa_com_dev_reset (edev , reset_reason );
651
652
efa_com_admin_destroy (edev );
652
653
efa_free_irq (dev , & dev -> admin_irq );
653
654
efa_disable_msix (dev );
@@ -675,7 +676,7 @@ static int efa_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
675
676
return 0 ;
676
677
677
678
err_remove_device :
678
- efa_remove_device (pdev );
679
+ efa_remove_device (pdev , EFA_REGS_RESET_INIT_ERR );
679
680
return err ;
680
681
}
681
682
@@ -684,7 +685,7 @@ static void efa_remove(struct pci_dev *pdev)
684
685
struct efa_dev * dev = pci_get_drvdata (pdev );
685
686
686
687
efa_ib_device_remove (dev );
687
- efa_remove_device (pdev );
688
+ efa_remove_device (pdev , EFA_REGS_RESET_NORMAL );
688
689
}
689
690
690
691
static void efa_shutdown (struct pci_dev * pdev )
0 commit comments