Skip to content

Fix lockup in vdrm_host_sync()

Dmitry Osipenko requested to merge digetx/mesa:vdrm-lockup-fix into main

The vdrm_execbuf() missed to set the seqno field for requests sent to host. This causes vdrm_host_sync() to lockup due to the unset seqno in a case where two or more threads are using vdrm_execbuf() and vdrm_send_req() concurrently, like in the following scenario:

	thread1: vdrm_send_req()  shmem->seqno=1 req->seqno=2
	thread2: vdrm_execbuf()   shmem->seqno=1 req->seqno=0
	thread1: vdrm_host_sync() shmem->seqno=0 req->seqno=2

@robclark @pepp

Merge request reports