Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+3 −13
Original line number Diff line number Diff line
@@ -4128,12 +4128,7 @@ i915_gem_object_pin(struct drm_gem_object *obj, uint32_t alignment,
			return ret;
	}

	obj_priv->pin_count++;

	/* If the object is not active and not pending a flush,
	 * remove it from the inactive list
	 */
	if (obj_priv->pin_count == 1) {
	if (obj_priv->pin_count++ == 0) {
		i915_gem_info_add_pin(dev_priv, obj, mappable);
		if (!obj_priv->active)
			list_move_tail(&obj_priv->mm_list,
@@ -4153,15 +4148,10 @@ i915_gem_object_unpin(struct drm_gem_object *obj)
	struct drm_i915_gem_object *obj_priv = to_intel_bo(obj);

	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);

	/* If the object is no longer pinned, and is
	 * neither active nor being flushed, then stick it on
	 * the inactive list
	 */
	if (obj_priv->pin_count == 0) {
	if (--obj_priv->pin_count == 0) {
		if (!obj_priv->active)
			list_move_tail(&obj_priv->mm_list,
				       &dev_priv->mm.inactive_list);