From patchwork Tue Apr 17 13:25:40 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Guenter Roeck X-Patchwork-Id: 133545 Delivered-To: patch@linaro.org Received: by 10.46.84.18 with SMTP id i18csp4715077ljb; Tue, 17 Apr 2018 06:25:47 -0700 (PDT) X-Google-Smtp-Source: AIpwx485UAE2mzDClKslMN4Rgw80AeM7wNILsV11zg/4cVduxxgcA4vtFI8Qb5IdTKbgQOLlPA1Z X-Received: by 2002:a17:902:bc3:: with SMTP id 61-v6mr2050823plr.117.1523971547361; Tue, 17 Apr 2018 06:25:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523971547; cv=none; d=google.com; s=arc-20160816; b=T0/Oic1A8oWQDmUvNrLSaZyd2/DOMfUHwC0sGNy6Dq3t6USRsrNpTp2EjePFpELJ3E 0sqiWGwsdmuuhQA//Tq7nr4OdwdwcD4uhGVAM9jbfDrQ2eritKPs9VnvAe2mK+sw5zum 3LUJ17UeD2vynQBApjmvgo87YkXKxGjOxMzyWmG8h77WZJ7g39yOhDqIxGfZ9Op8XF0K jHr7FISxoyxO6KPAITuMx1qEGnK8TMYO6L2nHMQKk3bP6t3DJTGs6ZzB/yyj+ZL2U6HG MYp5Cgasm8JnNncVigquOB6qt6i2TsR3h8y/zTEkJA+g3+c6QT6fz0dXtEjI4FfiN7q0 avzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=yfX/kQret+Hvh3MZydXVwHmmQpnQ8imOuCxeopZGOwo=; b=PcMytsWK2rP+hUMLi1EvzVpc5T3NgO/axEhtWEEfJNPG140Q2AybC14htAN29uUj6G Wtdi+9Pf3OGcXdcPa6Kby1DL48IaLoa/xEsKzbpiOifUtI3n1A/EtaIZdOfI6m4cyA/Y QuoY5l2wWj1BAxdO7S8O83qvAsAqTOpb9QsXcvYKCwFMVIwqtXphm227pVurTC7XFcSM VsmbRupxISZ1YPHo51fc/K3mWgaTXT3ZfiJrQk0LzV6yqekQHmRB57thFn6DG6uYJ6ZW Gi9zlukINsP5zBqgEmyab7PCMIE8sFCCX/zMGqqX+nFYyIcEvMN9w6DpOMEINMiYe5Yo iqPQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@roeck-us.net header.s=default header.b=42d99Dst; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q4-v6si1342148plr.407.2018.04.17.06.25.47; Tue, 17 Apr 2018 06:25:47 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of stable-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=@roeck-us.net header.s=default header.b=42d99Dst; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753346AbeDQNZp (ORCPT + 11 others); Tue, 17 Apr 2018 09:25:45 -0400 Received: from bh-25.webhostbox.net ([208.91.199.152]:50070 "EHLO bh-25.webhostbox.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753378AbeDQNZo (ORCPT ); Tue, 17 Apr 2018 09:25:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=roeck-us.net; s=default; h=Message-Id:Date:Subject:Cc:To:From:Sender: Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=yfX/kQret+Hvh3MZydXVwHmmQpnQ8imOuCxeopZGOwo=; b=42d99Dstw/mq6ZmVvfQf+V8iQx D9Y8zlzHVaAmcT2sh7uNj35JBFRUrEQWDFk+JwhsDuWgMj0X9jLHaxauDGJBRyWpX0867ZHsWWBYB 6zVSrCV4QRlEIuBlxZ3afk9awE02AwZrNpy8a45I2m1yvvMQqYIyc+wKESUA23yXgEUsmTrqNpxQo zLbLoEvuLR9vVyczEKOkPhejZI61OWVsiaVJRHC0468IeXYixjf75VYlWJOU2PHscj+0baOFOOezM Sz067RHWqK+dtx+fzt5rJG5PN+A84SV7YGJIB+aZa5R3blGBfGWNVfNtVt9iXiQwodbNSwX7+gaLt KP5zC4eg==; Received: from 108-223-40-66.lightspeed.sntcca.sbcglobal.net ([108.223.40.66]:51732 helo=localhost) by bh-25.webhostbox.net with esmtpa (Exim 4.89) (envelope-from ) id 1f8QcA-0007jW-CJ; Tue, 17 Apr 2018 13:25:43 +0000 From: Guenter Roeck To: stable@vger.kernel.org, Greg Kroah-Hartman Cc: Ahsan Hussain , Marek Szyprowski , Guenter Roeck Subject: [PATCH] hwmon: (ina2xx) Fix access to uninitialized mutex Date: Tue, 17 Apr 2018 06:25:40 -0700 Message-Id: <1523971540-24670-1-git-send-email-linux@roeck-us.net> X-Mailer: git-send-email 2.7.4 X-Authenticated_sender: guenter@roeck-us.net X-OutGoing-Spam-Status: No, score=-1.0 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - bh-25.webhostbox.net X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - roeck-us.net X-Get-Message-Sender-Via: bh-25.webhostbox.net: authenticated_id: guenter@roeck-us.net X-Authenticated-Sender: bh-25.webhostbox.net: guenter@roeck-us.net X-Source: X-Source-Args: X-Source-Dir: Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Marek Szyprowski commit 0c4c5860e9983eb3da7a3d73ca987643c3ed034b upstream Initialize data->config_lock mutex before it is used by the driver code. This fixes following warning on Odroid XU3 boards: INFO: trying to register non-static key. the code is fine but needs lockdep annotation. turning off the locking correctness validator. CPU: 5 PID: 1 Comm: swapper/0 Not tainted 4.15.0-rc7-next-20180115-00001-gb75575dee3f2 #107 Hardware name: SAMSUNG EXYNOS (Flattened Device Tree) [] (unwind_backtrace) from [] (show_stack+0x10/0x14) [] (show_stack) from [] (dump_stack+0x90/0xc8) [] (dump_stack) from [] (register_lock_class+0x1c0/0x59c) [] (register_lock_class) from [] (__lock_acquire+0x78/0x1850) [] (__lock_acquire) from [] (lock_acquire+0xc8/0x2b8) [] (lock_acquire) from [] (__mutex_lock+0x60/0xa0c) [] (__mutex_lock) from [] (mutex_lock_nested+0x1c/0x24) [] (mutex_lock_nested) from [] (ina2xx_set_shunt+0x70/0xb0) [] (ina2xx_set_shunt) from [] (ina2xx_probe+0x88/0x1b0) [] (ina2xx_probe) from [] (i2c_device_probe+0x1e0/0x2d0) [] (i2c_device_probe) from [] (driver_probe_device+0x2b8/0x4a0) [] (driver_probe_device) from [] (__driver_attach+0xfc/0x120) [] (__driver_attach) from [] (bus_for_each_dev+0x58/0x7c) [] (bus_for_each_dev) from [] (bus_add_driver+0x174/0x250) [] (bus_add_driver) from [] (driver_register+0x78/0xf4) [] (driver_register) from [] (i2c_register_driver+0x38/0xa8) [] (i2c_register_driver) from [] (do_one_initcall+0x48/0x18c) [] (do_one_initcall) from [] (kernel_init_freeable+0x110/0x1d4) [] (kernel_init_freeable) from [] (kernel_init+0x8/0x114) [] (kernel_init) from [] (ret_from_fork+0x14/0x20) Fixes: 5d389b125186 ("hwmon: (ina2xx) Make calibration register value fixed") Signed-off-by: Marek Szyprowski Signed-off-by: Guenter Roeck [backport to v4.4.y/v4.9.y: context changes] Signed-off-by: Guenter Roeck --- Please apply to linux-4.4.y and linux-4.9.y. drivers/hwmon/ina2xx.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- 2.7.4 diff --git a/drivers/hwmon/ina2xx.c b/drivers/hwmon/ina2xx.c index a629f7c130f0..ac63e562071f 100644 --- a/drivers/hwmon/ina2xx.c +++ b/drivers/hwmon/ina2xx.c @@ -447,6 +447,7 @@ static int ina2xx_probe(struct i2c_client *client, /* set the device type */ data->config = &ina2xx_config[id->driver_data]; + mutex_init(&data->config_lock); if (of_property_read_u32(dev->of_node, "shunt-resistor", &val) < 0) { struct ina2xx_platform_data *pdata = dev_get_platdata(dev); @@ -473,8 +474,6 @@ static int ina2xx_probe(struct i2c_client *client, return -ENODEV; } - mutex_init(&data->config_lock); - data->groups[group++] = &ina2xx_group; if (id->driver_data == ina226) data->groups[group++] = &ina226_group;