Commit 7465378f authored by Chris Wilson's avatar Chris Wilson

drm/i915: Convert BUG_ON(pin_count) from an impossible condition

Also spotted by Dan Carpenter.

obj->pin_count is unsigned so the BUG_ON(obj->pin_count<0) will never
trigger.
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
parent bbe2e11a
...@@ -4128,12 +4128,7 @@ i915_gem_object_pin(struct drm_gem_object *obj, uint32_t alignment, ...@@ -4128,12 +4128,7 @@ i915_gem_object_pin(struct drm_gem_object *obj, uint32_t alignment,
return ret; return ret;
} }
obj_priv->pin_count++; if (obj_priv->pin_count++ == 0) {
/* If the object is not active and not pending a flush,
* remove it from the inactive list
*/
if (obj_priv->pin_count == 1) {
i915_gem_info_add_pin(dev_priv, obj, mappable); i915_gem_info_add_pin(dev_priv, obj, mappable);
if (!obj_priv->active) if (!obj_priv->active)
list_move_tail(&obj_priv->mm_list, list_move_tail(&obj_priv->mm_list,
...@@ -4153,15 +4148,10 @@ i915_gem_object_unpin(struct drm_gem_object *obj) ...@@ -4153,15 +4148,10 @@ i915_gem_object_unpin(struct drm_gem_object *obj)
struct drm_i915_gem_object *obj_priv = to_intel_bo(obj); struct drm_i915_gem_object *obj_priv = to_intel_bo(obj);
WARN_ON(i915_verify_lists(dev)); WARN_ON(i915_verify_lists(dev));
obj_priv->pin_count--; BUG_ON(obj_priv->pin_count == 0);
BUG_ON(obj_priv->pin_count < 0);
BUG_ON(obj_priv->gtt_space == NULL); BUG_ON(obj_priv->gtt_space == NULL);
/* If the object is no longer pinned, and is if (--obj_priv->pin_count == 0) {
* neither active nor being flushed, then stick it on
* the inactive list
*/
if (obj_priv->pin_count == 0) {
if (!obj_priv->active) if (!obj_priv->active)
list_move_tail(&obj_priv->mm_list, list_move_tail(&obj_priv->mm_list,
&dev_priv->mm.inactive_list); &dev_priv->mm.inactive_list);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment