From 7ba01b504c16ae64a8faa5f5ee9a809d424cdf0e Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Wed, 1 Jun 2022 20:46:05 +1000 Subject: drm/nouveau: remove double WFI when destroying channels This is particularly irritating when the channel has hung. Signed-off-by: Ben Skeggs Reviewed-by: Dave Airlie Signed-off-by: Dave Airlie --- drivers/gpu/drm/nouveau/nouveau_abi16.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'drivers/gpu/drm/nouveau') diff --git a/drivers/gpu/drm/nouveau/nouveau_abi16.c b/drivers/gpu/drm/nouveau/nouveau_abi16.c index 2278b9243efe..5bee655e7e63 100644 --- a/drivers/gpu/drm/nouveau/nouveau_abi16.c +++ b/drivers/gpu/drm/nouveau/nouveau_abi16.c @@ -126,9 +126,8 @@ nouveau_abi16_chan_fini(struct nouveau_abi16 *abi16, { struct nouveau_abi16_ntfy *ntfy, *temp; - /* wait for all activity to stop before releasing notify object, which - * may be still in use */ - if (chan->chan && chan->ntfy) + /* wait for all activity to stop before cleaning up */ + if (chan->chan) nouveau_channel_idle(chan->chan); /* cleanup notifier state */ @@ -148,7 +147,6 @@ nouveau_abi16_chan_fini(struct nouveau_abi16 *abi16, /* destroy channel object, all children will be killed too */ if (chan->chan) { nvif_object_dtor(&chan->ce); - nouveau_channel_idle(chan->chan); nouveau_channel_del(&chan->chan); } -- cgit v1.2.3