From patchwork Wed Dec 14 13:34:34 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomeu Vizoso X-Patchwork-Id: 88023 Delivered-To: patch@linaro.org Received: by 10.140.20.101 with SMTP id 92csp197512qgi; Wed, 14 Dec 2016 05:35:21 -0800 (PST) X-Received: by 10.98.192.148 with SMTP id g20mr106395667pfk.36.1481722521225; Wed, 14 Dec 2016 05:35:21 -0800 (PST) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w3si52797017pgb.4.2016.12.14.05.35.20; Wed, 14 Dec 2016 05:35:21 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@gmail.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE dis=NONE) header.from=collabora.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755965AbcLNNfR (ORCPT + 25 others); Wed, 14 Dec 2016 08:35:17 -0500 Received: from mail-qk0-f193.google.com ([209.85.220.193]:35034 "EHLO mail-qk0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755896AbcLNNfP (ORCPT ); Wed, 14 Dec 2016 08:35:15 -0500 Received: by mail-qk0-f193.google.com with SMTP id n204so2874081qke.2 for ; Wed, 14 Dec 2016 05:35:15 -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=IkjfQddlhweDh3TxwXQ2en8nFuPwCzzJ+G8/NHPBoCEnIDYOaufW/Ay+9eS+gqi1BP kjyslylDGMGtzfUzSb4DghZUby1itkXYPuPatEGFEIz7wNXJv29+mbRkpnF/oPZzrZrf 3UP+ThSmFpPflrkE/HDsM/DYeB1+Z+mmM5D5QM5Q+icmRB3fYJMY8ATNdLxGvVr1eFz8 SxcXNr2q7DcnDtiknJWJqPVCzf73E6FPZ09+wo/m8xwM6KuCQ/0rmrunjW5v9hhwHSeP dI9U+Ht1tWz6F4EP5PFeGFkQD4iJMiBuFqVGni2A3G5QYrEpvglZz96EU6qJuIKC71px LBnw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=K5sppHkzf0WC2zuSt6aiGbvIB6J+LlAZA4/INK2Qd2Y=; b=JdcrreG5UDqBj4wDFI+AtfqTZIPenqxrBytD4Q8WKqSIeFLZ0CNAcIkZO2om+ONuUc +mA8GstNHmezNHW2HJlOFk4SucY02AEelXJmYDX5BnTa86Od7BbTmc0dHz8wfheEMQPz WKw7x1z4NocWPSUxhXq8kbF47j8Mz/Hp/Q2B14r/tplqUiqnnqzrLrxRjrc31hsbN5CA +fSZxw3U9xz8mMOU9BiQ6hvHwiWb50Xp8KJ5s0P+nUDDgaCA8G/+y6XvoMbkVt0Gqbmy A/Ub/HOYBFubbywzjwJ22JtJuZZGqlRphSO/ZMDMy90HQqOwsMr0GrHmemqUr1Y3sE/T HwFQ== X-Gm-Message-State: AKaTC00O133fmbgLdLZKnIM3HUmX7lA7C4etacYdGsjTrb9jdcml36m0IionAUYez4FCaw== X-Received: by 10.28.63.150 with SMTP id m144mr7331407wma.96.1481722514283; Wed, 14 Dec 2016 05:35:14 -0800 (PST) Received: from cizrna.lan ([109.72.12.226]) by smtp.gmail.com with ESMTPSA id 63sm7692000wmg.2.2016.12.14.05.35.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 14 Dec 2016 05:35:13 -0800 (PST) From: Tomeu Vizoso To: linux-kernel@vger.kernel.org Cc: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= , Sean Paul , Thierry Reding , Emil Velikov , Daniel Vetter , Jani Nikula , Tomeu Vizoso , dri-devel@lists.freedesktop.org, David Airlie Subject: [PATCH v13 1/3] drm: Move locking into drm_debugfs_crtc_crc_add Date: Wed, 14 Dec 2016 14:34:34 +0100 Message-Id: <1481722476-29964-2-git-send-email-tomeu.vizoso@collabora.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1481722476-29964-1-git-send-email-tomeu.vizoso@collabora.com> References: <1481722476-29964-1-git-send-email-tomeu.vizoso@collabora.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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(-) -- 2.7.4 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);