From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0B93433D6D2 for ; Thu, 22 Jan 2026 23:31:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769124720; cv=none; b=CblaqWWzuUWya3HXgPI6zbRHpzcSrlU0Z8qhgafwKO64FsF2NQ4MAKGx4Ezxi1Z8u1sKW0+DsHJlaZLYw3WEAsDGzf7vuHY0noERCI3P3Gkt+OJjVs1j9KZ2vEqlWqAGlSiPcjWvqfvF9NM5U7/dToBu38W3dZNVk2AlQzstvuI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769124720; c=relaxed/simple; bh=f1Cfg2cnUjT0UcyXwiMiffLjui6lfY4vfenovLngMQ4=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=L2jwKvnCk8zSDaeM43B+F2Qf5aDh7LXLb8jYix6LBHFFDR8YqEKCtogMGkKcrc5nHQE2WX0plrzXvYDzfaGUDd/W5ad74kKRXGlJdjg9eXQKNEKiJ574LCD4uF9WSRTyhde7Uo9sQtcKLZcXm7deQsUA4n9ja2y69JmMvTqJ5WE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=g6In7IF3; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b=oXHvKgTB; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="g6In7IF3"; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b="oXHvKgTB" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1769124711; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=RKN8TnoDSmWpOwAv94N5M2R+RBbJgduzlKLXPs+N8/Y=; b=g6In7IF3Yq9sDzrTRjGumH6xgnjAxO0X21CDNZPPuUyzuGGpKpMRJdnc2J78pTsB9qc9Q7 puoOkMG02WUFbtRG/7Hn2m80jv9U6j+zEPnfEYRQaNk47he1T/W+Gp9IZ3qkfHjk7Fg/d6 JJ0ihOtj9Jum5y///J6xRbvpmgEnanc= Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-282-lHsiBL4NPeGZ70wCcXEJnw-1; Thu, 22 Jan 2026 18:31:50 -0500 X-MC-Unique: lHsiBL4NPeGZ70wCcXEJnw-1 X-Mimecast-MFC-AGG-ID: lHsiBL4NPeGZ70wCcXEJnw_1769124709 Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-502aaf2d18bso48273741cf.0 for ; Thu, 22 Jan 2026 15:31:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1769124709; x=1769729509; darn=vger.kernel.org; h=user-agent:in-reply-to:content-disposition:mime-version:references :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=RKN8TnoDSmWpOwAv94N5M2R+RBbJgduzlKLXPs+N8/Y=; b=oXHvKgTBTpw9a+OMXEFp9AdD4rmvjxR6MSc6Il5jlB4d2XIgCR36ordqjK/TKHv7GV PEOm28GCZ2oSLvOVqRiqpiW/Hcr776kzySSNATrA6ykw6BA0vBjpukNeFuUR1DddtdpJ MBPwVJ50fVqo5C4EnwagTBkYalM352no10u3/IzEZjaBNRCSYKI9pSxK2RqEZJI7M+9V c2bkEhCAILlWMZi03743oBAj9LGBNKNv1yi6A53+6SnvV3k30BkaKg7UNSW6Ri5yB/OE 8NblSSlin/Y+k4A4flR5pUdTYdlXl7iPVWL8l93V7x3N/9UvPuTMgRhEMrdv8LIb78hx 37gQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769124709; x=1769729509; h=user-agent:in-reply-to:content-disposition:mime-version:references :message-id:subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=RKN8TnoDSmWpOwAv94N5M2R+RBbJgduzlKLXPs+N8/Y=; b=JK1pS+mqn6c1jgmoEhR38/HxLkd9fcyyT9z9wGrEaQIUpQru3s188swmEeflaTOViD 2RIBG89hYfmIS9wI66Pf1kdt5YDKge2gnWcs9BHHSueL+1KkACnEGWTmJJZbZ4Kaq7lR Z52GETy3/VlIo2mH6T0851SjRzOoxmPDuvIBD/hTaM9ocbKj+1arT+FQfQOy/DPQlCQG B3yihQqRVVD/osW4bRruw7P7Y64pH8mOvtQiPRN9k1l5NrNMcIBM88ZiqZWShGd8lBFH QstUP6n9B1htYBMtqRwSOfS+ZUCdMxIdgHLL2V1IEtS6HlnSmOHbM4r7HM81R1in+tm7 o8tA== X-Forwarded-Encrypted: i=1; AJvYcCVkcjbhDCPaU+F69i/HmkLjBnqlsUcw1OAvhGC42dV4fkqsyp12DyZ/SBmkSwQs+YO4JbdBK8ZSQru6rQ4=@vger.kernel.org X-Gm-Message-State: AOJu0Yyn4X6v4mdB4I1oxlmSeiVD18jxhHPMIV4eKrhEsBCimAywhoaE v91oE/woidR1mJbU/ReTS8Oqte/bl8LzECdnn3L27klO3W2KDVH/axP9QHr3QjE0dNphCt/cvdX JhJ8gFSsfRTgVxCI/g3ln74jVvgDL1fhgFluFLYQlTKqGULtFvNZTflSMuyzH/DZaug== X-Gm-Gg: AZuq6aIgJkMwpc5kaEAdDDsZUCtP9kcnukAEqUuVom3MQSeVwfbfveibAGQvidxtOsV JOlkflSzF6OTRDxEDO0BSMKbMi5A0MCfFZ8tsfFgbaDRgrNEc95g+Kh+xbyO3r1a+FyKUU3wtyB El/LKp2r7x0SOzGHAo/cVOrWsqRb1kIDRSlinNqioakfUw5f/ZxAEogMOjTsnqErw0B4udPweMo +pgUfQ6HwPmBT7lOk9hQHMAanRUvFjHSxCtU4Pdbc38fOHvpDl4Ea2LEMUgTnQkfhCG9QkLcPN9 F5SKPwaZ1qQZuaQaKW8aZLQs/W5wAIIHlfxTmiAtZifDguWWS3iv0UxMYhlXmLDvYuk2 X-Received: by 2002:a05:622a:394:b0:4f1:b9e1:f08f with SMTP id d75a77b69052e-502f771c6bcmr16767981cf.5.1769124709541; Thu, 22 Jan 2026 15:31:49 -0800 (PST) X-Received: by 2002:a05:622a:394:b0:4f1:b9e1:f08f with SMTP id d75a77b69052e-502f771c6bcmr16767571cf.5.1769124709043; Thu, 22 Jan 2026 15:31:49 -0800 (PST) Received: from redhat.com ([2603:301f:1601:7a00::a701]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-502f7f747dasm4474461cf.19.2026.01.22.15.31.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Jan 2026 15:31:48 -0800 (PST) Date: Thu, 22 Jan 2026 18:31:46 -0500 From: Brian Masney To: "ping.gao" Cc: mturquette@baylibre.com, sboyd@kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, hy50.seo@samsung.com, kwangwon.min@samsung.com Subject: Re: [PATCH] drivers: clk: keystone: Fix parameter judgment in clk_prepare Message-ID: References: <20260122101124.2396139-1-ping.gao@samsung.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260122101124.2396139-1-ping.gao@samsung.com> User-Agent: Mutt/2.2.14 (2025-02-20) Hi Ping, Thanks for the patch! On Thu, Jan 22, 2026 at 06:11:24PM +0800, ping.gao wrote: > The clk may return NULL or an ERR_PTR. Don't > treat an ERR_PTR as valid. > > for example: biu_clk in dwmmc driver request fail, but it's ERR_PTR, > not null,it will panic when call clk_prepare > log is below: The patch subject has 'keystone:' that should be dropped. (Along with the extra tab.) This is also a nitpick but the extra spaces at the beginning of each line in the commit message should be removed. Just start it at the beginning of the line. When the patch is applied, 'git log' will correctly indent your commit message properly for you. > [ 438.400868] [7: binder:436_2: 4998] Unable to handle kernel paging request at virtual address fffffffffffffffe > [ 438.400877] [7: binder:436_2: 4998] Mem abort info: > [ 438.400881] [7: binder:436_2: 4998] ESR = 0x0000000096000005 > [ 438.400887] [7: binder:436_2: 4998] EC = 0x25: DABT (current EL), IL = 32 bits > [ 438.400894] [7: binder:436_2: 4998] SET = 0, FnV = 0 > [ 438.400899] [7: binder:436_2: 4998] EA = 0, S1PTW = 0 > [ 438.400904] [7: binder:436_2: 4998] FSC = 0x05: level 1 translation fault > ... > [ 438.409424] [7: binder:436_2: 4998] Call trace: > [ 438.409429] [7: binder:436_2: 4998] clk_prepare+0x10/0x24 > [ 438.409439] [7: binder:436_2: 4998] dw_mci_runtime_resume+0x50/0x2d8 [dw_mmc_samsung cd210e210975263404c28fc89778f369f8398f0c] > [ 438.409471] [7: binder:436_2: 4998] dw_mci_exynos_runtime_resume+0x18/0x58 [dw_mmc_exynos_samsung 2735a594c7c9c9e8c65b0b87523fbf70dcaabfff] > [ 438.409496] [7: binder:436_2: 4998] pm_generic_runtime_resume+0x40/0x58 > [ 438.409506] [7: binder:436_2: 4998] pm_runtime_force_resume+0x9c/0x134 > [ 438.409517] [7: binder:436_2: 4998] platform_pm_resume+0x40/0x8c > [ 438.409529] [7: binder:436_2: 4998] dpm_run_callback+0x64/0x230 > [ 438.409540] [7: binder:436_2: 4998] __device_resume+0x1d8/0x394 > [ 438.409551] [7: binder:436_2: 4998] dpm_resume+0x110/0x2b8 > [ 438.409561] [7: binder:436_2: 4998] dpm_resume_end+0x1c/0x38 > [ 438.409570] [7: binder:436_2: 4998] suspend_devices_and_enter+0x828/0xab0 > [ 438.409582] [7: binder:436_2: 4998] pm_suspend+0x334/0x618 > [ 438.409592] [7: binder:436_2: 4998] state_store+0x104/0x144 > [ 438.409601] [7: binder:436_2: 4998] kobj_attr_store+0x30/0x48 > [ 438.409610] [7: binder:436_2: 4998] sysfs_kf_write+0x54/0x6c > [ 438.409619] [7: binder:436_2: 4998] kernfs_fop_write_iter+0x104/0x1a8 > [ 438.409628] [7: binder:436_2: 4998] vfs_write+0x24c/0x2f4 > [ 438.409640] [7: binder:436_2: 4998] ksys_write+0x78/0xe8 > [ 438.409652] [7: binder:436_2: 4998] __arm64_sys_write+0x1c/0x2c > [ 438.409664] [7: binder:436_2: 4998] invoke_syscall+0x58/0x114 > [ 438.409676] [7: binder:436_2: 4998] el0_svc_common+0xac/0xe0 > [ 438.409687] [7: binder:436_2: 4998] do_el0_svc+0x1c/0x28 > [ 438.409698] [7: binder:436_2: 4998] el0_svc+0x38/0x68 > [ 438.409705] [7: binder:436_2: 4998] el0t_64_sync_handler+0x68/0xbc > [ 438.409712] [7: binder:436_2: 4998] el0t_64_sync+0x1a8/0x1ac > > Signed-off-by: ping.gao > --- > drivers/clk/clk.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c > index 85d2f2481acf..6d62f69323b5 100644 > --- a/drivers/clk/clk.c > +++ b/drivers/clk/clk.c > @@ -1171,7 +1171,7 @@ static int clk_core_prepare_lock(struct clk_core *core) > */ > int clk_prepare(struct clk *clk) > { > - if (!clk) > + if (IS_ERR_OR_NULL(clk)) > return 0; > > return clk_core_prepare_lock(clk->core); With a cleaned up commit message: Reviewed-by: Brian Masney Just to help Stephen: It looks like this is what ultimately causes the problem: dw_mci_probe() in drivers/mmc/host/dw_mmc.c sets up host->ciu_clk, and if an error is returned by devm_clk_get(), it leaves the error pointer in host->ciu_clk, and the probe continues normally. Later dw_mci_runtime_resume() calls clk_prepare_enable() on host->ciu_clk with the error pointer. Additionally, clk_unprepare() already has this IS_ERR_OR_NULL() check. Stephen: Do you think that clk_enable() should also be updated as well? I see that clk_disable() also has the IS_ERR_OR_NULL() check. Brian