diff options
author | David Nieto <dmartineznie@nvidia.com> | 2017-02-13 14:22:59 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-03-20 19:39:50 -0400 |
commit | 469308becaff326da02fcf791e803e812e1cf9f8 (patch) | |
tree | 2acc6d432a7a6023c3d6bb034df8ac0e9cb6bfbf /drivers/gpu/nvgpu/pci.c | |
parent | 50f371f891c889c782187036c31132fa94c573ac (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.c | 4 |
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 | ||