From patchwork Mon Dec 5 07:40:55 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomeu Vizoso X-Patchwork-Id: 86502 Delivered-To: patch@linaro.org Received: by 10.140.20.101 with SMTP id 92csp1350995qgi; Sun, 4 Dec 2016 23:41:52 -0800 (PST) X-Received: by 10.84.168.129 with SMTP id f1mr123756424plb.42.1480923712910; Sun, 04 Dec 2016 23:41:52 -0800 (PST) Return-Path: Received: from gabe.freedesktop.org (gabe.freedesktop.org. [131.252.210.177]) by mx.google.com with ESMTPS id y30si13778192plh.111.2016.12.04.23.41.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 04 Dec 2016 23:41:52 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of dri-devel-bounces@lists.freedesktop.org designates 131.252.210.177 as permitted sender) client-ip=131.252.210.177; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com; spf=pass (google.com: best guess record for domain of dri-devel-bounces@lists.freedesktop.org designates 131.252.210.177 as permitted sender) smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id DFEE96E075; Mon, 5 Dec 2016 07:41:39 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-wj0-x243.google.com (mail-wj0-x243.google.com [IPv6:2a00:1450:400c:c01::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7D95A89DE5 for ; Mon, 5 Dec 2016 07:41:36 +0000 (UTC) Received: by mail-wj0-x243.google.com with SMTP id kp2so37801888wjc.0 for ; Sun, 04 Dec 2016 23:41:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=K5sppHkzf0WC2zuSt6aiGbvIB6J+LlAZA4/INK2Qd2Y=; b=ZTFaRmjJDyidlNaWkg2hUXA65LOuDuCyENYCyKe9VhFuSKZzb9KDFoajAjjdGBFyfj nESbD/+3MRUHo7mUpq6j4K5nTqccs6XR2xHyK+BrXAPdSEymc8t4wZKKz4cOZk+d5noX KDT8syxc2syhHiW2jqsHHKlQBSrFq+hz2w76O01RYoMiVLuDQ4BBAFxnQKheLpSjekdP pL487RftPq4wUtlMzK+mA2l2fPXPbYeM6zBd5w2NdWTkr+Tvd6yNrxuwCkLJO8kuI34q T9GEtWvbZl7T1BpBH6PYO3bypnJh9jBqhS5zEU2i2v5MHp4iwndAt6vq/FUdyxIyguAu tbIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=K5sppHkzf0WC2zuSt6aiGbvIB6J+LlAZA4/INK2Qd2Y=; b=SGUn0kw6ie+2oUY8joJBHRu7k744ktFbQsgI2iwNCTScEcCZU7/IuQOneIzYZ0nfxr ASanj0/cruTTcIka1KJJSgrsWtq74cdf+PB6815D0gbLI2hOabxfJu0iHyiCKLNUwDnj rN//+039tTY5OnXxo6xrfn2Tejf0y8jeuvst64dR4pQhRQ9dJQY33pVq4bZrakqd/3/o sc+FIT9Dpnl5U/HkgRUcIMhPuHyejCQfDEyeLO8KjsiSm5MmHmfJfTQZA6KzDpoLQcMM JcAV/YBChRgHehLEdVCbdsvcIvI7ZdS6kUwJxR6YKbOBStCNMXGmlFiE/LgjkuBVyLdE r9rg== X-Gm-Message-State: AKaTC02lOtLX6rVt4DgRF5HcV0ZxNyex/bE9/noYxWj+V6TK0BwOMy4ZnP80otbVNrxt4w== X-Received: by 10.194.109.168 with SMTP id ht8mr48440042wjb.36.1480923694910; Sun, 04 Dec 2016 23:41:34 -0800 (PST) Received: from cizrna.lan ([109.72.12.105]) by smtp.gmail.com with ESMTPSA id c81sm16508859wmf.22.2016.12.04.23.41.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 04 Dec 2016 23:41:34 -0800 (PST) From: Tomeu Vizoso To: linux-kernel@vger.kernel.org Subject: [RESEND PATCH v12 2/4] drm: Move locking into drm_debugfs_crtc_crc_add Date: Mon, 5 Dec 2016 08:40:55 +0100 Message-Id: <1480923657-7908-3-git-send-email-tomeu.vizoso@collabora.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1480923657-7908-1-git-send-email-tomeu.vizoso@collabora.com> References: <1480923657-7908-1-git-send-email-tomeu.vizoso@collabora.com> Cc: Tomeu Vizoso , Emil Velikov , dri-devel@lists.freedesktop.org, Daniel Vetter X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" There's no reason any more for callers of this function to take the lock themselves, so just move the lock to the function to avoid confusion and bugs when more callers are contributed. Signed-off-by: Tomeu Vizoso --- drivers/gpu/drm/drm_debugfs_crc.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/drm_debugfs_crc.c b/drivers/gpu/drm/drm_debugfs_crc.c index 00e771fb7df2..68b171af237b 100644 --- a/drivers/gpu/drm/drm_debugfs_crc.c +++ b/drivers/gpu/drm/drm_debugfs_crc.c @@ -325,16 +325,19 @@ int drm_crtc_add_crc_entry(struct drm_crtc *crtc, bool has_frame, struct drm_crtc_crc_entry *entry; int head, tail; - assert_spin_locked(&crc->lock); + spin_lock(&crc->lock); /* Caller may not have noticed yet that userspace has stopped reading */ - if (!crc->opened) + if (!crc->opened) { + spin_unlock(&crc->lock); return -EINVAL; + } head = crc->head; tail = crc->tail; if (CIRC_SPACE(head, tail, DRM_CRC_ENTRIES_NR) < 1) { + spin_unlock(&crc->lock); DRM_ERROR("Overflow of CRC buffer, userspace reads too slow.\n"); return -ENOBUFS; } @@ -347,6 +350,8 @@ int drm_crtc_add_crc_entry(struct drm_crtc *crtc, bool has_frame, head = (head + 1) & (DRM_CRC_ENTRIES_NR - 1); crc->head = head; + spin_unlock(&crc->lock); + return 0; } EXPORT_SYMBOL_GPL(drm_crtc_add_crc_entry);