gpu: nvgpu: fix arbiter teardown on PCI

The driver is not properly tearing down the arbiter on the PCI driver
unload. This change makes sure that the workqueues are drained before
tearing down the driver

bug 200277762
JIRA: EVLR-1023

Change-Id: If98fd00e27949ba1569dd26e2af02b75897231a7
Signed-off-by: David Nieto <dmartineznie@nvidia.com>
Reviewed-on: http://git-master/r/1320147
Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
This commit is contained in:
David Nieto
2017-02-13 11:22:59 -08:00
committed by mobile promotions
parent 50f371f891
commit 469308beca
3 changed files with 63 additions and 26 deletions

View File

@@ -460,6 +460,10 @@ static void nvgpu_pci_remove(struct pci_dev *pdev)
gk20a_wait_for_idle(&pdev->dev);
gk20a_dbg(gpu_dbg_shutdown, "Driver idle.\n");
#ifdef CONFIG_ARCH_TEGRA_18x_SOC
nvgpu_clk_arb_cleanup_arbiter(g);
#endif
gk20a_user_deinit(g->dev, &nvgpu_pci_class);
gk20a_dbg(gpu_dbg_shutdown, "User de-init done.\b");