From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Leonard Crestez <leonard.crestez@nxp.com>,
Matthias Kaehlcke <mka@chromium.org>,
Chanwoo Choi <cw00.choi@samsung.com>,
Sasha Levin <sashal@kernel.org>,
linux-pm@vger.kernel.org
Subject: [PATCH AUTOSEL 4.14 03/19] PM / devfreq: Don't fail devfreq_dev_release if not in list
Date: Fri, 20 Dec 2019 09:37:24 -0500 [thread overview]
Message-ID: <20191220143741.10220-3-sashal@kernel.org> (raw)
In-Reply-To: <20191220143741.10220-1-sashal@kernel.org>
From: Leonard Crestez <leonard.crestez@nxp.com>
[ Upstream commit 42a6b25e67df6ee6675e8d1eaf18065bd73328ba ]
Right now devfreq_dev_release will print a warning and abort the rest of
the cleanup if the devfreq instance is not part of the global
devfreq_list. But this is a valid scenario, for example it can happen if
the governor can't be found or on any other init error that happens
after device_register.
Initialize devfreq->node to an empty list head in devfreq_add_device so
that list_del becomes a safe noop inside devfreq_dev_release and we can
continue the rest of the cleanup.
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/devfreq/devfreq.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
index dc9c0032c97b2..7b510ef1d0ddc 100644
--- a/drivers/devfreq/devfreq.c
+++ b/drivers/devfreq/devfreq.c
@@ -484,11 +484,6 @@ static void devfreq_dev_release(struct device *dev)
struct devfreq *devfreq = to_devfreq(dev);
mutex_lock(&devfreq_list_lock);
- if (IS_ERR(find_device_devfreq(devfreq->dev.parent))) {
- mutex_unlock(&devfreq_list_lock);
- dev_warn(&devfreq->dev, "releasing devfreq which doesn't exist\n");
- return;
- }
list_del(&devfreq->node);
mutex_unlock(&devfreq_list_lock);
@@ -547,6 +542,7 @@ struct devfreq *devfreq_add_device(struct device *dev,
devfreq->dev.parent = dev;
devfreq->dev.class = devfreq_class;
devfreq->dev.release = devfreq_dev_release;
+ INIT_LIST_HEAD(&devfreq->node);
devfreq->profile = profile;
strncpy(devfreq->governor_name, governor_name, DEVFREQ_NAME_LEN);
devfreq->previous_freq = profile->initial_freq;
--
2.20.1
next prev parent reply other threads:[~2019-12-20 14:39 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-20 14:37 [PATCH AUTOSEL 4.14 01/19] nvme_fc: add module to ops template to allow module references Sasha Levin
2019-12-20 14:37 ` Sasha Levin
2019-12-20 14:37 ` [PATCH AUTOSEL 4.14 02/19] iio: adc: max9611: Fix too short conversion time delay Sasha Levin
2019-12-20 14:37 ` Sasha Levin [this message]
2019-12-20 14:37 ` [PATCH AUTOSEL 4.14 04/19] RDMA/cma: add missed unregister_pernet_subsys in init failure Sasha Levin
2019-12-20 14:37 ` [PATCH AUTOSEL 4.14 05/19] rxe: correctly calculate iCRC for unaligned payloads Sasha Levin
2019-12-20 14:37 ` [PATCH AUTOSEL 4.14 06/19] scsi: lpfc: Fix memory leak on lpfc_bsg_write_ebuf_set func Sasha Levin
2019-12-20 14:37 ` [PATCH AUTOSEL 4.14 07/19] scsi: qla2xxx: Don't call qlt_async_event twice Sasha Levin
2019-12-20 14:37 ` [PATCH AUTOSEL 4.14 08/19] scsi: iscsi: qla4xxx: fix double free in probe Sasha Levin
2019-12-20 14:37 ` [PATCH AUTOSEL 4.14 09/19] scsi: libsas: stop discovering if oob mode is disconnected Sasha Levin
[not found] ` <20191220143741.10220-1-sashal-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2019-12-20 14:37 ` [PATCH AUTOSEL 4.14 10/19] drm/nouveau: Move the declaration of struct nouveau_conn_atom up a bit Sasha Levin
2019-12-20 14:37 ` Sasha Levin
2019-12-20 14:37 ` Sasha Levin
2019-12-20 14:37 ` [PATCH AUTOSEL 4.14 11/19] usb: gadget: fix wrong endpoint desc Sasha Levin
2019-12-20 14:37 ` [PATCH AUTOSEL 4.14 12/19] net: make socket read/write_iter() honor IOCB_NOWAIT Sasha Levin
2019-12-20 14:37 ` [PATCH AUTOSEL 4.14 13/19] md: raid1: check rdev before reference in raid1_sync_request func Sasha Levin
2019-12-20 14:37 ` [PATCH AUTOSEL 4.14 14/19] s390/cpum_sf: Adjust sampling interval to avoid hitting sample limits Sasha Levin
2019-12-20 14:37 ` [PATCH AUTOSEL 4.14 15/19] s390/cpum_sf: Avoid SBD overflow condition in irq handler Sasha Levin
2019-12-20 14:37 ` [PATCH AUTOSEL 4.14 16/19] IB/mlx4: Follow mirror sequence of device add during device removal Sasha Levin
2019-12-20 14:37 ` [PATCH AUTOSEL 4.14 17/19] xen-blkback: prevent premature module unload Sasha Levin
2019-12-20 14:37 ` [Xen-devel] " Sasha Levin
2019-12-20 14:37 ` [Xen-devel] [PATCH AUTOSEL 4.14 18/19] xen/balloon: fix ballooned page accounting without hotplug enabled Sasha Levin
2019-12-20 14:37 ` Sasha Levin
2019-12-20 14:37 ` [PATCH AUTOSEL 4.14 19/19] PM / hibernate: memory_bm_find_bit(): Tighten node optimisation Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191220143741.10220-3-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=cw00.choi@samsung.com \
--cc=leonard.crestez@nxp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mka@chromium.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.