From nobody Tue Dec 2 02:06:02 2025 Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 82BC8368DF7 for ; Thu, 20 Nov 2025 18:42:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.202 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763664180; cv=none; b=IUne5BRd2BsmMkGm2+A9X51EW3Kb9DqnVi8KerIgjXGj2SODCn6RJnXMlh1JwDllwDlsEUqsSGll6IGFSkf89TEMbkio80Ncwj3vDa4gYGpZNfPfMoApg1HNIdYNiWOHZjjYXPnehcoPt8SvLPbRUlgyvum8IsnsxCPXVB19+UA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763664180; c=relaxed/simple; bh=fizX/zpb55v6tWXmO2kY83jVuj1wy+fw9bIDltyNrM0=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=nk6/5YLFofeQQ5ALb9YORfMRfCB6ynylK3a18IW3bS9MT0kpAb4xeHXE85Bza5Y1U7pIgbLBXfKH5ctMu2C9GN8gOotXO9zP1bDeAotoduS4//o30kffrmlemB+gDIBOrn7Z6l8f9w+Qm9/PMns1Q0XSMd2S2EacBidzKBlkH7s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--willmcvicker.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=zIMB6cuY; arc=none smtp.client-ip=209.85.214.202 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--willmcvicker.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="zIMB6cuY" Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-297e5a18652so14509145ad.1 for ; Thu, 20 Nov 2025 10:42:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1763664178; x=1764268978; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=sQI/aMjga6zLBbmFacInf1FiaB4N/DGsz2v/Apbe6jw=; b=zIMB6cuYqoRI5SI1XNtRf4g6wAZ74yuG3/T7sPaJsTU5qnWC2H4DSImuVVlvOnYMGv rqKvWvvHQY/wd0ixOurLOQorNDFrnWqgAt5b3dfFZdRxmtKTRgwZZfy4HuxS+OIDZ/uL KdHs4aDiHuBa2TH5CRQnkiCVgdfapKQPhKikgG5YxGLZSQs1uTM4eLWtoD5C52Mtjfbu aRRtOgQB/H/W/byvwRAaubCJ4reHLIWdzSx6ENBOzRn++3J+kmJqvT16LhzyG7ciq9Rr G/6WaqZCXGabJuyoYd2K8cjIKz9VUa1AVCwR/qj6fLc3Sfv1/lEPpg+DL5larajGfaKh wBpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763664178; x=1764268978; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=sQI/aMjga6zLBbmFacInf1FiaB4N/DGsz2v/Apbe6jw=; b=pWsQoeCSP47VdnV71f3pzXV4Skvst1aPq2oAcs+5P2IqS+wcxo+ZgsVjQMlU++yqsl gEHQLQTk0/vqfsi8Mx7CZwall/dRMOND6LQQSrnQaEtZpG5rlmIaHmewbv8nqmvmc6ye 5tVLmdfLxLZhOSJ+ZssCk6JGKKFn8ShUprIpH3kdxPyWpBu/WFirsHl4cysrwoF5dInB tD+KEobjpKkmsffPGEBa4S9hkKR6kw0CLvYT5fha8EtDaUxa2dRYkv7B97O3Ez+WGT16 gs5BC/Jdnd0ioXVRlWPSraw/zEGCI+r2XvTi0w+gbfOYXZjkzeGRVsLMpUZJW6R9XXrb gXVQ== X-Forwarded-Encrypted: i=1; AJvYcCUWF+5KizGGH10sX9bqkaVGP9ajedvNOIGOOrdbCZo4P4FeMQ/ghePt5TI164UR5DNgFEl0ORXg7AXcM6s=@vger.kernel.org X-Gm-Message-State: AOJu0YxXaXfg6iXoJTNlf9eUD+VJUraIQTfa1JI1GQpFPbhY6Q3cXkMW bpcsiA4uke0KENDZztJF5TkeS745FeatKYONww8KphBnxd4exU+KB5GXBnH/rEJjXPc2kJ+FUu6 TkITWIU/3yW7Am7ywH3/ZNqgU58hUVw== X-Google-Smtp-Source: AGHT+IHwJthRNw4pqfJjYDk4vSF8m6qYCdx11lKLy4Vbpkd9LUAmbdAJbP3S8s2Ivqdqp6aG9ef+u6sWKJHez1RSwqw= X-Received: from plkb6.prod.google.com ([2002:a17:903:fa6:b0:268:cfa:6a80]) (user=willmcvicker job=prod-delivery.src-stubby-dispatcher) by 2002:a17:903:2408:b0:295:fbc7:d282 with SMTP id d9443c01a7336-29b5b08a22dmr50358725ad.27.1763664177775; Thu, 20 Nov 2025 10:42:57 -0800 (PST) Date: Thu, 20 Nov 2025 18:42:32 +0000 In-Reply-To: <20251120184242.1625820-1-willmcvicker@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20251120184242.1625820-1-willmcvicker@google.com> X-Mailer: git-send-email 2.52.0.rc2.455.g230fcf2819-goog Message-ID: <20251120184242.1625820-5-willmcvicker@google.com> Subject: [PATCH v6 4/6] clocksource/drivers/exynos_mct: Fix uninitialized irq name warning From: Will McVicker To: Russell King , Catalin Marinas , Will Deacon , Daniel Lezcano , Thomas Gleixner , Krzysztof Kozlowski , Alim Akhtar Cc: Will McVicker , Donghoon Yu , Hosung Kim , Rob Herring , John Stultz , Youngmin Nam , Peter Griffin , Tudor Ambarus , "=?UTF-8?q?Andr=C3=A9=20Draszik?=" , Conor Dooley , Marek Szyprowski , linux-samsung-soc@vger.kernel.org, kernel-team@android.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The Exynos MCT driver doesn't set the clocksource name until the CPU hotplug state is setup which happens after the IRQs are requested. This results in an empty IRQ name which leads to the below warning at proc_create() time. When this happens, the userdata partition fails to mount and the device gets stuck in an endless loop printing the error: root '/dev/disk/by-partlabel/userdata' doesn't exist or does not contain = a /dev. To fix this, we just need to initialize the name before requesting the IRQs. Warning from Pixel 6 kernel log: [ T430] name len 0 [ T430] WARNING: CPU: 6 PID: 430 at fs/proc/generic.c:407 __proc_create+0x= 258/0x2b4 [ T430] Modules linked in: dwc3_exynos(E+) [ T430] ufs_exynos(E+) phy_exynos_ufs(E) [ T430] phy_exynos5_usbdrd(E) exynos_usi(E+) exynos_mct(E+) s3c2410_wdt(E) [ T430] arm_dsu_pmu(E) simplefb(E) [ T430] CPU: 6 UID: 0 PID: 430 Comm: (udev-worker) Tainted: ... 6.14.0-next-20250331-4k-00008-g59adf909e40e #1 ... [ T430] Tainted: [W]=3DWARN, [E]=3DUNSIGNED_MODULE [ T430] Hardware name: Raven (DT) [...] [ T430] Call trace: [ T430] __proc_create+0x258/0x2b4 (P) [ T430] proc_mkdir+0x40/0xa0 [ T430] register_handler_proc+0x118/0x140 [ T430] __setup_irq+0x460/0x6d0 [ T430] request_threaded_irq+0xcc/0x1b0 [ T430] mct_init_dt+0x244/0x604 [exynos_mct ...] [ T430] mct_init_spi+0x18/0x34 [exynos_mct ...] [ T430] exynos4_mct_probe+0x30/0x4c [exynos_mct ...] [ T430] platform_probe+0x6c/0xe4 [ T430] really_probe+0xf4/0x38c [...] [ T430] driver_register+0x6c/0x140 [ T430] __platform_driver_register+0x28/0x38 [ T430] exynos4_mct_driver_init+0x24/0xfe8 [exynos_mct ...] [ T430] do_one_initcall+0x84/0x3c0 [ T430] do_init_module+0x58/0x208 [ T430] load_module+0x1de0/0x2500 [ T430] init_module_from_file+0x8c/0xdc Reviewed-by: Peter Griffin Reviewed-by: Youngmin Nam Tested-by: Youngmin Nam Signed-off-by: Will McVicker --- drivers/clocksource/exynos_mct.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/clocksource/exynos_mct.c b/drivers/clocksource/exynos_= mct.c index 1429b9d03a58..fece6bbc190e 100644 --- a/drivers/clocksource/exynos_mct.c +++ b/drivers/clocksource/exynos_mct.c @@ -465,8 +465,6 @@ static int exynos4_mct_starting_cpu(unsigned int cpu) per_cpu_ptr(&percpu_mct_tick, cpu); struct clock_event_device *evt =3D &mevt->evt; =20 - snprintf(mevt->name, sizeof(mevt->name), "mct_tick%d", cpu); - evt->name =3D mevt->name; evt->cpumask =3D cpumask_of(cpu); evt->set_next_event =3D exynos4_tick_set_next_event; @@ -567,6 +565,14 @@ static int __init exynos4_timer_interrupts(struct devi= ce_node *np, for (i =3D MCT_L0_IRQ; i < nr_irqs; i++) mct_irqs[i] =3D irq_of_parse_and_map(np, i); =20 + for_each_possible_cpu(cpu) { + struct mct_clock_event_device *mevt =3D + per_cpu_ptr(&percpu_mct_tick, cpu); + + snprintf(mevt->name, sizeof(mevt->name), "mct_tick%d", + cpu); + } + if (mct_int_type =3D=3D MCT_INT_PPI) { =20 err =3D request_percpu_irq(mct_irqs[MCT_L0_IRQ], --=20 2.52.0.rc2.455.g230fcf2819-goog