summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/pci.c
diff options
context:
space:
mode:
authorDavid Nieto <dmartineznie@nvidia.com>2017-02-13 14:22:59 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2017-03-20 19:39:50 -0400
commit469308becaff326da02fcf791e803e812e1cf9f8 (patch)
tree2acc6d432a7a6023c3d6bb034df8ac0e9cb6bfbf /drivers/gpu/nvgpu/pci.c
parent50f371f891c889c782187036c31132fa94c573ac (diff)
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>
Diffstat (limited to 'drivers/gpu/nvgpu/pci.c')
-rw-r--r--drivers/gpu/nvgpu/pci.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/pci.c b/drivers/gpu/nvgpu/pci.c
index 69e16267..7ef626c2 100644
--- a/drivers/gpu/nvgpu/pci.c
+++ b/drivers/gpu/nvgpu/pci.c
@@ -460,6 +460,10 @@ static void nvgpu_pci_remove(struct pci_dev *pdev)
460 gk20a_wait_for_idle(&pdev->dev); 460 gk20a_wait_for_idle(&pdev->dev);
461 gk20a_dbg(gpu_dbg_shutdown, "Driver idle.\n"); 461 gk20a_dbg(gpu_dbg_shutdown, "Driver idle.\n");
462 462
463#ifdef CONFIG_ARCH_TEGRA_18x_SOC
464 nvgpu_clk_arb_cleanup_arbiter(g);
465#endif
466
463 gk20a_user_deinit(g->dev, &nvgpu_pci_class); 467 gk20a_user_deinit(g->dev, &nvgpu_pci_class);
464 gk20a_dbg(gpu_dbg_shutdown, "User de-init done.\b"); 468 gk20a_dbg(gpu_dbg_shutdown, "User de-init done.\b");
465 469