mirror of
https://github.com/torvalds/linux.git
synced 2024-11-29 23:51:37 +00:00
e997c218ad
If msg_xfer() is unable to queue part of a NNC message because the MHI ring
is full, it will attempt to give the QSM some time to drain the queue.
However, if QSM fails to make any room, msg_xfer() will fail and tell the
caller to try again. This is problematic because part of the message may
have been committed to the ring and there is no mechanism to revoke that
content. This will cause QSM to receive a corrupt message.
The better way to do this is to check if the ring has enough space for the
entire message before committing any of the message. Since msg_xfer() is
under the cntl_mutex no one else can come in and consume the space.
Fixes:
|
||
---|---|---|
.. | ||
habanalabs | ||
ivpu | ||
qaic | ||
drm_accel.c | ||
Kconfig | ||
Makefile |