From patchwork Wed Oct 11 17:12:01 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Seth Forshee X-Patchwork-Id: 824494 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) by ozlabs.org (Postfix) with ESMTP id 3yC0s93jk1z9sNw; Thu, 12 Oct 2017 04:12:13 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1e2KYE-0008Ow-3b; Wed, 11 Oct 2017 17:12:10 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.86_2) (envelope-from ) id 1e2KY8-0008Nx-Nf for kernel-team@lists.ubuntu.com; Wed, 11 Oct 2017 17:12:04 +0000 Received: from mail-io0-f197.google.com ([209.85.223.197]) by youngberry.canonical.com with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.76) (envelope-from ) id 1e2KY8-0008Cp-DO for kernel-team@lists.ubuntu.com; Wed, 11 Oct 2017 17:12:04 +0000 Received: by mail-io0-f197.google.com with SMTP id q81so1848871ioi.12 for ; Wed, 11 Oct 2017 10:12:04 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id; bh=SMbrlxhC9WZCJoRi2SG/lAhItX9uhyUxFsu3RryDsb0=; b=YFsTOir5fkSllexw2mv2N3DJSQelJpT0PA2xECvXQKnBBHrcC8aF3F4DJRay8IJvJF QMveUJuhQd0UXRaYpJG3rBeZjnOKeGTGOmsCKyHApIce9NWWN7yZ+e9x1GoacN/qzXf4 9ULNG8SfZ5vapTy4J42qPgkFykdOrhrp50NBegenLzUSXlsA83vKwmi7R2VlgVuX5dCo iXyVHpgy4Cce8Xv1WEnc/mKhUF/bkJXyNO666YfLj14T7L4csuYj9TNoGlXWiyeOMqb0 tLJ/PNYreFHDu8e8k1bD1pZEX2h7dtXkCzA0YzaEloPnaWt6u7LgE4s6rcH+tHu6CC3I RCZQ== X-Gm-Message-State: AMCzsaWMfXm43zS7bO8p/PgBfXk+dSNrP0Wq99Hk5Y6fTGCiVkiON1sz TOUJCxi2LG4qa9yDrr3ZbgsRwZrcpnqgIYs4GcvBEUMBiqnjfVwnDM8yBz6rV4L13yAoqFe2kq7 EnmCvqxuQz4dj4PN42xJO323VmhQg9c9oTvJbXG+FqQ== X-Received: by 10.36.184.4 with SMTP id m4mr348155ite.41.1507741923175; Wed, 11 Oct 2017 10:12:03 -0700 (PDT) X-Google-Smtp-Source: AOwi7QBR2ixqqQLLA80rETosF8OsavKZAW9vf2x2xomAySbwDCYYB2ml6vLTXfijhBjQtkgUQm9Gyg== X-Received: by 10.36.184.4 with SMTP id m4mr348140ite.41.1507741922894; Wed, 11 Oct 2017 10:12:02 -0700 (PDT) Received: from localhost ([2605:a601:aae:1b20:b4c7:abaf:87f8:2e08]) by smtp.gmail.com with ESMTPSA id h81sm6934823itb.18.2017.10.11.10.12.02 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 11 Oct 2017 10:12:02 -0700 (PDT) From: Seth Forshee To: kernel-team@lists.ubuntu.com Subject: [PATCH artful] qxl: fix framebuffer unpinning Date: Wed, 11 Oct 2017 12:12:01 -0500 Message-Id: <20171011171201.22911-1-seth.forshee@canonical.com> X-Mailer: git-send-email 2.14.1 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" From: Gerd Hoffmann BugLink: http://bugs.launchpad.net/bugs/1711358 qxl_plane_cleanup_fb() unpins the just activated framebuffer instead of the old one. Oops. Fix it. Cc: Gabriel Krisman Bertazi Fixes: 1277eed5fecb8830c8cc414ad70c1ef640464bc0 Signed-off-by: Gerd Hoffmann Reviewed-by: Gabriel Krisman Bertazi Link: http://patchwork.freedesktop.org/patch/msgid/20170918074145.2257-1-kraxel@redhat.com (cherry picked from commit 5f3d862a736398e7068fa67142133f1713fdee8c) Signed-off-by: Seth Forshee Acked-by: Thadeu Lima de Souza Cascardo Acked-by: Andy Whitcroft --- drivers/gpu/drm/qxl/qxl_display.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c index 03fe182203ce..274df74a128c 100644 --- a/drivers/gpu/drm/qxl/qxl_display.c +++ b/drivers/gpu/drm/qxl/qxl_display.c @@ -701,14 +701,15 @@ static void qxl_plane_cleanup_fb(struct drm_plane *plane, struct drm_gem_object *obj; struct qxl_bo *user_bo; - if (!plane->state->fb) { - /* we never executed prepare_fb, so there's nothing to + if (!old_state->fb) { + /* + * we never executed prepare_fb, so there's nothing to * unpin. */ return; } - obj = to_qxl_framebuffer(plane->state->fb)->obj; + obj = to_qxl_framebuffer(old_state->fb)->obj; user_bo = gem_to_qxl_bo(obj); qxl_bo_unpin(user_bo); }