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

Commit ab7cd8d8 authored by Dave Airlie's avatar Dave Airlie
Browse files

Merge tag 'drm-intel-fixes-2016-12-01' of...

Merge tag 'drm-intel-fixes-2016-12-01' of git://anongit.freedesktop.org/git/drm-intel into drm-fixes

2 intel fixes.

* tag 'drm-intel-fixes-2016-12-01' of git://anongit.freedesktop.org/git/drm-intel:
  drm/i915: drop the struct_mutex when wedged or trying to reset
  drm/i915: Don't touch NULL sg on i915_gem_object_get_pages_gtt() error
parents 83fb8b05 e411072d
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -2268,7 +2268,7 @@ i915_gem_object_get_pages_gtt(struct drm_i915_gem_object *obj)
			page = shmem_read_mapping_page(mapping, i);
			if (IS_ERR(page)) {
				ret = PTR_ERR(page);
				goto err_pages;
				goto err_sg;
			}
		}
#ifdef CONFIG_SWIOTLB
@@ -2311,8 +2311,9 @@ i915_gem_object_get_pages_gtt(struct drm_i915_gem_object *obj)

	return 0;

err_pages:
err_sg:
	sg_mark_end(sg);
err_pages:
	for_each_sgt_page(page, sgt_iter, st)
		put_page(page);
	sg_free_table(st);
+2 −1
Original line number Diff line number Diff line
@@ -12260,7 +12260,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
	intel_crtc->reset_count = i915_reset_count(&dev_priv->gpu_error);
	if (i915_reset_in_progress_or_wedged(&dev_priv->gpu_error)) {
		ret = -EIO;
		goto cleanup;
		goto unlock;
	}

	atomic_inc(&intel_crtc->unpin_work_count);
@@ -12352,6 +12352,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
	intel_unpin_fb_obj(fb, crtc->primary->state->rotation);
cleanup_pending:
	atomic_dec(&intel_crtc->unpin_work_count);
unlock:
	mutex_unlock(&dev->struct_mutex);
cleanup:
	crtc->primary->fb = old_fb;