Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f01ea0c3 authored by Thomas Hellstrom's avatar Thomas Hellstrom
Browse files

drm/vmwgfx: Fix a potential infinite spin waiting for fifo idle



The code waiting for fifo idle was incorrect and could possibly spin
forever under certain circumstances.

Signed-off-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
Reported-by: default avatarMark Sheldon <markshel@vmware.com>
Reviewed-by: default avatarJakob Bornecrantz <jakob@vmware.com>
Reivewed-by: default avatarMark Sheldon <markshel@vmware.com>
Cc: <stable@vger.kernel.org>
parent 9f9cb84f
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -180,8 +180,9 @@ void vmw_fifo_release(struct vmw_private *dev_priv, struct vmw_fifo_state *fifo)

	mutex_lock(&dev_priv->hw_mutex);

	while (vmw_read(dev_priv, SVGA_REG_BUSY) != 0)
	vmw_write(dev_priv, SVGA_REG_SYNC, SVGA_SYNC_GENERIC);
	while (vmw_read(dev_priv, SVGA_REG_BUSY) != 0)
		;

	dev_priv->last_read_seqno = ioread32(fifo_mem + SVGA_FIFO_FENCE);