[Nouveau] [PATCH 2/2] drm/nouveau: tegra: Do not try to disable PCI device
Lyude Paul
lyude at redhat.com
Tue Sep 17 18:11:02 UTC 2019
I don't see any problems with this, since nvkm_device_del() is mainly in
charge of just releasing memory allocations as is drm_dev_put().
Reviewed-by: Lyude Paul <lyude at redhat.com>
On Mon, 2019-09-16 at 16:36 +0200, Thierry Reding wrote:
> From: Thierry Reding <treding at nvidia.com>
>
> When Nouveau is instantiated on top of a platform device, the dev->pdev
> field will be NULL and calling pci_disable_device() will crash. Move the
> PCI disabling code to the PCI specific driver removal code.
>
> Signed-off-by: Thierry Reding <treding at nvidia.com>
> ---
> drivers/gpu/drm/nouveau/nouveau_drm.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c
> b/drivers/gpu/drm/nouveau/nouveau_drm.c
> index 2cd83849600f..b65ae817eabf 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_drm.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_drm.c
> @@ -715,7 +715,6 @@ static int nouveau_drm_probe(struct pci_dev *pdev,
> void
> nouveau_drm_device_remove(struct drm_device *dev)
> {
> - struct pci_dev *pdev = dev->pdev;
> struct nouveau_drm *drm = nouveau_drm(dev);
> struct nvkm_client *client;
> struct nvkm_device *device;
> @@ -727,7 +726,6 @@ nouveau_drm_device_remove(struct drm_device *dev)
> device = nvkm_device_find(client->device);
>
> nouveau_drm_device_fini(dev);
> - pci_disable_device(pdev);
> drm_dev_put(dev);
> nvkm_device_del(&device);
> }
> @@ -738,6 +736,7 @@ nouveau_drm_remove(struct pci_dev *pdev)
> struct drm_device *dev = pci_get_drvdata(pdev);
>
> nouveau_drm_device_remove(dev);
> + pci_disable_device(pdev);
> }
>
> static int
--
Cheers,
Lyude Paul
More information about the Nouveau
mailing list