mirror of
https://github.com/torvalds/linux.git
synced 2026-10-26 20:46:02 +01:00
amdxdna_drm_sync_bo_ioctl() calls amdxdna_hwctx_sync_debug_bo() for every
FROM_DEVICE sync, which answers -EINVAL when the BO's assigned_hwctx names
no context. Only a BO attached with ATTACH_DEBUG_BO is ever given one, so
an ordinary read-back sync reports failure after its flush has already run.
Ask for the debug sync only when the BO has a context. An unattached BO
carries AMDXDNA_INVALID_CTX_HANDLE and hwctx ids are allocated above it, so
the test is exact, -EINVAL keeps meaning that the named context is gone,
and the handle is not resolved twice. The field is written under dev_lock
and read here without it; the context is still resolved under that lock, so
a racing attach only decides whether this sync sees the buffer.
Fixes:
|
||
|---|---|---|
| .. | ||
| amdxdna | ||
| ethosu | ||
| habanalabs | ||
| ivpu | ||
| qaic | ||
| rocket | ||
| drm_accel.c | ||
| Kconfig | ||
| Makefile | ||