mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-11-22 21:20:14 +00:00
nouveau_fence_emit() can fail before and after initializing the
dma-fence and hence before and after initializing the dma-fence' kref.
In order to avoid nouveau_fence_emit() potentially failing before
dma-fence initialization pass the channel to nouveau_fence_new() already
and perform the required check before even allocating the fence.
While at it, restore the original behavior of nouveau_fence_new() and
add nouveau_fence_create() for separate (pre-)allocation instead. Always
splitting up allocation end emit wasn't a good idea in the first place.
Hence, limit it to the places where we actually need to pre-allocate.
Fixes:
|
||
|---|---|---|
| .. | ||
| arb.c | ||
| crtc.c | ||
| cursor.c | ||
| dac.c | ||
| dfp.c | ||
| disp.c | ||
| disp.h | ||
| hw.c | ||
| hw.h | ||
| Kbuild | ||
| nvreg.h | ||
| overlay.c | ||
| tvmodesnv17.c | ||
| tvnv04.c | ||
| tvnv17.c | ||
| tvnv17.h | ||