diff options
author | Sinclair Yeh <syeh@vmware.com> | 2016-06-29 13:20:26 -0700 |
---|---|---|
committer | Sinclair Yeh <syeh@vmware.com> | 2016-07-01 10:47:50 -0700 |
commit | 4ed7e2242b637bc4af0416e4aa9f945db30fb44a (patch) | |
tree | 2eee093f5c616fd30fbda370c67aa1e2701a941e /lib/fonts | |
parent | 94477bff390aa4612d2332c8abafaae0a13d6923 (diff) | |
download | linux-4ed7e2242b637bc4af0416e4aa9f945db30fb44a.tar.gz |
drm/vmwgfx: Check pin count before attempting to move a buffer
In certain scenarios, e.g. when fbdev is enabled, we can get into
a situation where a vmw_framebuffer_pin() is called on a buffer
that is already pinned.
When this happens, ttm_bo_validate() will unintentially remove the
TTM_PL_FLAG_NO_EVICT flag, thus unpinning it, and leaving no way
to actually pin the buffer again.
To prevent this, if a buffer is already pinned, then instead of
calling ttm_bo_validate(), just make sure the proposed placement is
compatible with the existing placement.
Signed-off-by: Sinclair Yeh <syeh@vmware.com>
Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
Cc: <stable@vger.kernel.org>
---
This is the 2nd patch in a 3-patch series to fix a console black
screen issue on Ubuntu 16.04 server. This fixes a BUG_ON()
condition where a pinned buffer gets accidentally put onto the
LRU list.
Diffstat (limited to 'lib/fonts')
0 files changed, 0 insertions, 0 deletions