|
@@ -116,6 +116,11 @@ 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)
|
|
|
+ nouveau_channel_idle(chan->chan);
|
|
|
+
|
|
|
/* cleanup notifier state */
|
|
|
list_for_each_entry_safe(ntfy, temp, &chan->notifiers, head) {
|
|
|
nouveau_abi16_ntfy_fini(chan, ntfy);
|