From patchwork Wed Jul 29 06:32:43 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Vetter X-Patchwork-Id: 6889411 Return-Path: X-Original-To: patchwork-dri-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 7CF7A9F39D for ; Wed, 29 Jul 2015 06:30:16 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 7D6DA207B1 for ; Wed, 29 Jul 2015 06:30:15 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.kernel.org (Postfix) with ESMTP id 9080E2079C for ; Wed, 29 Jul 2015 06:30:14 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id DCD396E2FD; Tue, 28 Jul 2015 23:30:12 -0700 (PDT) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-wi0-f182.google.com (mail-wi0-f182.google.com [209.85.212.182]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9292A6E2FD for ; Tue, 28 Jul 2015 23:30:11 -0700 (PDT) Received: by wibxm9 with SMTP id xm9so185946712wib.0 for ; Tue, 28 Jul 2015 23:30:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=VVr270Skq6cZDdylo3bVsdO+H4e4b0oK7NY9li+Z83s=; b=DinuPX1V+Wd0vANiaiXd3RYEYcZAnvWnEydXi0yd3jYy015wKYviu3UFj9+3eCz6aw N+AA0Iy7p18w5ZY/c7LnlmptvvOO5g30xRiIlKQ3e8hH/voxLPys9JpUY9tAnFAVhzG6 FFWZb1iywbYFNYBrnkgTa80yFIHKYy8/Vwon8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=VVr270Skq6cZDdylo3bVsdO+H4e4b0oK7NY9li+Z83s=; b=AYIKXJI3xShSz/O64yXku1ldlT8vcjunjWgrksn9ObOd2D+bjI/FYLo1DiqeTe7wu9 mCSa+53Yk3A93jYSUDi2UMLRIc8bLMPTdw9YBw/bKs/Qu6vE//z2rpxFPVQrkzJsKCd0 9fOpxHiCuzaUmVhjlA+A0m11bEEeREHLaYEFaqe0snzlJFrAIphgIGxhZJFI5k4OEEfG D3OZlyVhp0iV8j/R2HGD6bzttKyRC3RLhZ6Do/dhBWE7khthkGAh5BNo5d37k8ynDH26 b9aNTrr2TAwHUVC5hZeoFpGXCL3DhybNf5vFGMcBh6P1hIxiR136J0f0Tiz77kR/9q2F zFYA== X-Gm-Message-State: ALoCoQlBBVKfgOCiXjq8pkOpnt0EousZXlWizDPil55OcXasObS9a8pvieR0WF/MzT7StO42dBUa X-Received: by 10.180.83.135 with SMTP id q7mr14096255wiy.17.1438151410181; Tue, 28 Jul 2015 23:30:10 -0700 (PDT) Received: from phenom.ffwll.local (212-51-149-109.fiber7.init7.net. [212.51.149.109]) by smtp.gmail.com with ESMTPSA id lj2sm22454360wic.1.2015.07.28.23.30.08 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 28 Jul 2015 23:30:09 -0700 (PDT) From: Daniel Vetter To: Intel Graphics Development Subject: [PATCH] drm: Fixup locking WARNINGs in drm_mode_config_reset Date: Wed, 29 Jul 2015 08:32:43 +0200 Message-Id: <1438151563-8369-1-git-send-email-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1438151276-1719-1-git-send-email-daniel.vetter@ffwll.ch> References: <1438151276-1719-1-git-send-email-daniel.vetter@ffwll.ch> Cc: Daniel Vetter , Laurent Pinchart , DRI Development , 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-Spam-Status: No, score=-5.5 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED,RP_MATCHES_RCVD,T_DKIM_INVALID,UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP With commit 7a3f3d6667f5f9ffd1517f6b21d64bbf5312042c Author: Daniel Vetter Date: Thu Jul 9 23:44:28 2015 +0200 drm: Check locking in drm_for_each_connector we started checking the locking in drm_for_each_connector but somehow I totally missed drm_mode_config_reset. There's no problem there since this function should only be called in single-threaded contexts (driver load or resume), so just wrap the loop with the right lock. v2: Drink coffee and all that ... Cc: Laurent Pinchart Reported-by: Laurent Pinchart Signed-off-by: Daniel Vetter Tested-by: Jianwei Wang Tested-by: Laurent Pinchart --- drivers/gpu/drm/drm_crtc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index c91c18b2b1d4..10c1a0f6680c 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c @@ -5273,9 +5273,11 @@ void drm_mode_config_reset(struct drm_device *dev) if (encoder->funcs->reset) encoder->funcs->reset(encoder); + mutex_lock(&dev->mode_config.mutex); drm_for_each_connector(connector, dev) if (connector->funcs->reset) connector->funcs->reset(connector); + mutex_unlock(&dev->mode_config.mutex); } EXPORT_SYMBOL(drm_mode_config_reset);