diff options
author | Florian Fainelli <f.fainelli@gmail.com> | 2019-10-15 20:36:24 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-10-16 06:59:28 +0300 |
commit | d9f45ab9e671166004b75427f10389e1f70cfc30 (patch) | |
tree | e4d300040168f32b6b0df468ec253eeab2207168 /drivers/net/ethernet/broadcom/genet | |
parent | 554032cdfbf4491f38241a3f6b27459408d90df3 (diff) | |
download | linux-d9f45ab9e671166004b75427f10389e1f70cfc30.tar.xz |
net: bcmgenet: Add a shutdown callback
Make sure that we completely quiesce the network device, including its
DMA to avoid having it continue to receive packets while there is no
software alive to service those.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Acked-by: Doug Berger <opendmb@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom/genet')
-rw-r--r-- | drivers/net/ethernet/broadcom/genet/bcmgenet.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c index dd4e4f1dd384..f10ffd35bc47 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c @@ -3596,6 +3596,11 @@ static int bcmgenet_remove(struct platform_device *pdev) return 0; } +static void bcmgenet_shutdown(struct platform_device *pdev) +{ + bcmgenet_remove(pdev); +} + #ifdef CONFIG_PM_SLEEP static int bcmgenet_resume(struct device *d) { @@ -3714,6 +3719,7 @@ static SIMPLE_DEV_PM_OPS(bcmgenet_pm_ops, bcmgenet_suspend, bcmgenet_resume); static struct platform_driver bcmgenet_driver = { .probe = bcmgenet_probe, .remove = bcmgenet_remove, + .shutdown = bcmgenet_shutdown, .driver = { .name = "bcmgenet", .of_match_table = bcmgenet_match, |