Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp3779423pxv; Mon, 19 Jul 2021 08:33:13 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzTyC0Nt+piD6nPRL3dPpRz6K0J1hCZWm/4OyIy4WJYDXpkkV52yKtTgUDjFG3vOrg82k6g X-Received: by 2002:a17:906:2f15:: with SMTP id v21mr27163493eji.220.1626708793283; Mon, 19 Jul 2021 08:33:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626708793; cv=none; d=google.com; s=arc-20160816; b=AIJnFfUfKlqvTjsRZNOZt7qKmByPdAhYfUrahltloWvhp4YlTnv4WoKjewDob6VVFA 0G36nhkRHslDreTNc4+TdqdhKQNMDluMhtpGWd/m2+ZbQkB2REWzjNr70THMkvR0qAVi oqg6HtYKMav4nnseM5Z/x9BXWv6c2HpI26nA6iN4iXQfC/XrZbZSyTkn1YUcrN34qe0d fNaXz3xnWb06hcwsSeICloJtwBZdmTfrmskoYmpc67A4cZP2cgaG2KdvyQvvB6TAo55Q R5a870/50xvpATIXxAJfti08CR+ahFTCpGPZt9pOJSiBozGHTcXwQL+UvN5tg73Rvwr2 cZEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=RPVm2ufViuCMBwEm3mzrHCvvO9RR95+kK18h+AmWeHo=; b=QlKJPa14d7reW9k44Ywf6QD5ittbchU7QXuKk+PfzWH6WMwrn9L9Nm/4zH6CXhOTCR L1TCJV8xzjL467acfXGppsnQu4lJHQ4O145Oevn14oT0dEpv6+0dDIPYnHIY9bmGAw7n b8KvZIar/7Y/FK6esMHj758yDvZnLhONsChDSaJtCgcX+zlKuyLq57IE0x28uJQwQXiv uv60Pn3Awhw7sBs+3ryAkvRCEl8+0qlJ86GdQKwfB38BMpk6jti3lLAFR1PsmDd1eorI 4bSjSKBbJDjLhDHl5tXY6xOJMxPYf+g/wkGWRFyYw878rtfcbRpkpN7cGxRItT1HhrR1 XuMQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="qZmBXw/M"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id o18si20427702edq.519.2021.07.19.08.32.50; Mon, 19 Jul 2021 08:33:13 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="qZmBXw/M"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238878AbhGSOuJ (ORCPT + 99 others); Mon, 19 Jul 2021 10:50:09 -0400 Received: from mail.kernel.org ([198.145.29.99]:47206 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245577AbhGSOeq (ORCPT ); Mon, 19 Jul 2021 10:34:46 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 3809F6135B; Mon, 19 Jul 2021 15:14:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1626707660; bh=zW/+9TjAzUHJpOauq3MOoubO2rCelNtNxt/izos+Htw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=qZmBXw/MJT/3JWWLH5ENmTaVF/QkNPlbNibxX8wqlHd4Xn6fY3j2ThoL6I7Qb1zCn 4MFqPy3Yppf5YQUSB5j8FLo3tnK/Mpxdqoy0dlVAs96vtSjKOCgg51qxzlv/wXmcDa wNWkAiBqpx56+OSi/6sZhIkbqu1JX756Jf98FFhw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Linus Walleij , Sebastian Reichel , Sasha Levin Subject: [PATCH 4.9 209/245] power: supply: ab8500: Avoid NULL pointers Date: Mon, 19 Jul 2021 16:52:31 +0200 Message-Id: <20210719144947.159739095@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210719144940.288257948@linuxfoundation.org> References: <20210719144940.288257948@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Linus Walleij [ Upstream commit 5bcb5087c9dd3dca1ff0ebd8002c5313c9332b56 ] Sometimes the code will crash because we haven't enabled AC or USB charging and thus not created the corresponding psy device. Fix it by checking that it is there before notifying. Signed-off-by: Linus Walleij Signed-off-by: Sebastian Reichel Signed-off-by: Sasha Levin --- drivers/power/supply/ab8500_charger.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/drivers/power/supply/ab8500_charger.c b/drivers/power/supply/ab8500_charger.c index 48a11fd86a7f..2d44a68b62c0 100644 --- a/drivers/power/supply/ab8500_charger.c +++ b/drivers/power/supply/ab8500_charger.c @@ -409,6 +409,14 @@ disable_otp: static void ab8500_power_supply_changed(struct ab8500_charger *di, struct power_supply *psy) { + /* + * This happens if we get notifications or interrupts and + * the platform has been configured not to support one or + * other type of charging. + */ + if (!psy) + return; + if (di->autopower_cfg) { if (!di->usb.charger_connected && !di->ac.charger_connected && @@ -435,7 +443,15 @@ static void ab8500_charger_set_usb_connected(struct ab8500_charger *di, if (!connected) di->flags.vbus_drop_end = false; - sysfs_notify(&di->usb_chg.psy->dev.kobj, NULL, "present"); + /* + * Sometimes the platform is configured not to support + * USB charging and no psy has been created, but we still + * will get these notifications. + */ + if (di->usb_chg.psy) { + sysfs_notify(&di->usb_chg.psy->dev.kobj, NULL, + "present"); + } if (connected) { mutex_lock(&di->charger_attached_mutex); -- 2.30.2