Skip to content

Commit 0746da0

Browse files
Jijie Shaokuba-moo
authored andcommitted
net: hibmcge: support pci_driver.shutdown()
support pci_driver.shutdown() for hibmcge driver. Signed-off-by: Jijie Shao <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent 7e0d4c1 commit 0746da0

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

drivers/net/ethernet/hisilicon/hibmcge/hbg_main.c

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -472,6 +472,22 @@ static int hbg_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
472472
return 0;
473473
}
474474

475+
static void hbg_shutdown(struct pci_dev *pdev)
476+
{
477+
struct net_device *netdev = pci_get_drvdata(pdev);
478+
479+
rtnl_lock();
480+
if (netif_running(netdev))
481+
dev_close(netdev);
482+
rtnl_unlock();
483+
484+
pci_disable_device(pdev);
485+
pci_set_drvdata(pdev, NULL);
486+
487+
if (system_state == SYSTEM_POWER_OFF)
488+
pci_set_power_state(pdev, PCI_D3hot);
489+
}
490+
475491
static const struct pci_device_id hbg_pci_tbl[] = {
476492
{PCI_VDEVICE(HUAWEI, 0x3730), 0},
477493
{ }
@@ -482,6 +498,7 @@ static struct pci_driver hbg_driver = {
482498
.name = "hibmcge",
483499
.id_table = hbg_pci_tbl,
484500
.probe = hbg_probe,
501+
.shutdown = hbg_shutdown,
485502
};
486503

487504
static int __init hbg_module_init(void)

0 commit comments

Comments
 (0)