diff options
-rw-r--r-- | drivers/staging/fsl-dpaa2/ethsw/ethsw.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/staging/fsl-dpaa2/ethsw/ethsw.c b/drivers/staging/fsl-dpaa2/ethsw/ethsw.c index c620ee23227b..c4267ef44597 100644 --- a/drivers/staging/fsl-dpaa2/ethsw/ethsw.c +++ b/drivers/staging/fsl-dpaa2/ethsw/ethsw.c @@ -1628,8 +1628,6 @@ static int ethsw_remove(struct fsl_mc_device *sw_dev) ethsw_teardown_irqs(sw_dev); - destroy_workqueue(ethsw->workqueue); - dpsw_disable(ethsw->mc_io, 0, ethsw->dpsw_handle); for (i = 0; i < ethsw->sw_attr.num_ifs; i++) { @@ -1640,6 +1638,9 @@ static int ethsw_remove(struct fsl_mc_device *sw_dev) kfree(ethsw->ports); ethsw_takedown(sw_dev); + + destroy_workqueue(ethsw->workqueue); + fsl_mc_portal_free(ethsw->mc_io); kfree(ethsw); |