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: 9460507 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id CC90760231 for ; Mon, 5 Dec 2016 07:41:53 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id BEB3922BF1 for ; Mon, 5 Dec 2016 07:41:53 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B392523B3D; Mon, 5 Dec 2016 07:41:53 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.1 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 4B97A22BF1 for ; Mon, 5 Dec 2016 07:41:53 +0000 (UTC) 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" X-Virus-Scanned: ClamAV using ClamSMTP 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);