From nobody Sun Jun 14 07:37:06 2026 Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) (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 91CBF2F12A1 for ; Fri, 1 May 2026 09:43:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777628621; cv=none; b=WMHprvLc2QvJnPR7EEzWlBnOPICJWm6CICeCWRU3G9AGEyYSGVJQDakSp4zLX3gy2UQuO9fFn5rNlTZR2OR6RfVlYUpc5SNBaL5AKJJdKmP2mKEa6XfnUm1PrCr+PSJk2g29VVHrcBPmI49jQF9Ji+wkPfn5BDFJtQNIa/hiYRs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777628621; c=relaxed/simple; bh=/G6aH5YjluYLpa78DEIE2n2bTMoEnNB4tS8cLUjm6Yo=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=KLG4Ho33RarqiP98nLj/oficB6IQ4WXITkxVJwF0VR4Txhic1699iiKc3HJt/iX+EfjjCH0AKPuDh2Or4KefrxVuyrxDENACBNFSbnJlT0MmrFeJy4R2PDptalbnRNKpIVoB6zCEotxt48qEa91JRY165647YIcovYELXo/zBmg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=CVg5JWmc; arc=none smtp.client-ip=209.85.221.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="CVg5JWmc" Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-43fe608cb92so1045862f8f.2 for ; Fri, 01 May 2026 02:43:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777628618; x=1778233418; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=srSofyf5xrP9tKpvx3EydlQjkADYth3fgcbExaNrnzc=; b=CVg5JWmcV3Ay9CGw6OIh9QltUI27SDsfjccZYvCsKqsYb3P2/rz1/LqthCb6BDmfhw hhnlt8EhIEoAil0tMYB8VuLvsm/e8e87zzPFCqX+O286S9OsRhMugRD35k+/m+d0Q9/c paXfaAHoeblGn0cB6bXQUwm2PT0QLzmZdYynwo5gXolMmmVDSZW/Rf2D1aP/TDPhE0PU xuLPckYKQcP5cs1NDoKbfeE7YBEsuzU6Y5ld7RRiSL3ZQMzhk616UcsN63RFsCZ1a3gj lQ16esrJLSFBZqHXkcgtbsja9SK5ehNhpjVhuskftD3D0I+f5U/UWOOfsvqoR2gzI9/R iTXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777628618; x=1778233418; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=srSofyf5xrP9tKpvx3EydlQjkADYth3fgcbExaNrnzc=; b=BhA7WSmld5OfkGW5pG9/KO8LjYsBvbg7nDEWdTYeAuLUjpbiaUIeiexEfX11aHDRPO BskALEbDw8yXAELbRrzcFUmfI6FqVp/+Lzj0hVjuOuoxVaAg80cnn6W/E19IhH7ZbIKA /zLFWeZl7wiiRlxD18fNTWM+yOtTo2uwtOQ3UNyDB0VE9Xnjs7579TvX76pfB9FmPaXS X3lo+jmC8xi96prBS1dOmSZuSbzZaQIflGF3go0tZbvDuK+Y/VwHcXidRemz8ebVc7sR EN1vt/bw8PE1fee1xHy0/tAvvBfRP+foRrSNnyOPmDaYd7/xxivRqCfuy7GMvKEWy3Mu XiXw== X-Forwarded-Encrypted: i=1; AFNElJ+0KB+HLwhf1OBx9H3lunUvhzM2FxVygItPHO6lHifkNq0ko9WxRNscVrcSwIFSxNak5WtGrFZtocMZMT4=@vger.kernel.org X-Gm-Message-State: AOJu0YwbHvRJMoqSzTcybcyFCal0C2MNkNNJ4IsC0/Tb+96xTqr7l4gQ p7je48/nViIYCX0QEfKzen6GZRQWeruEys/y0fQyLmvgVoc56hCXbWwA X-Gm-Gg: AeBDietOk16YxF90XsVYuUqMMshcnygjwQuBy5yiacElqdUTHfZffpHl627i00l/pa/ kANGKKnQ7h6ewx2sXN1C37rxvtpW43up/MDEQQ2UJmTJHQe+lwgEZQS0pfhZKMz1KCYSyn1S9Gs DjgtzAesf0IF89PsOe9GWe65rdcztTd++50gES4UvXwYTCLJg/ETo9lEYCFXMArPwGyhipJCMoW yhvwoyahqVjairbfXiCUld3grGMWFgTEoqT8xQ6vnGvikhxPEVZPuIJNga7njdsXIa3n5OpyIW1 bXEeEmQMzS7+MvrzmVmt7s0XAw5I2SjViBHu+v/Itr2He0GDrwsdZdO8fWaaedJ3m4ME1lwGoLI mwd3k6tlvtFTYpEd5PhbEwlQW9I9ymFB/e/UT6K+baqOVlPTACX1dbgbYVX9fOo7pVLktQtBf1n 2ksQKRPd/DtZzWKl/yN2MlZknJFZ7XOKAcjLisSOLp4KyGGHDroZQ8NVgHdbOXVEsPdfRFdfgRh z1MIG8O2SCYddBInf1mdXIvedek+egVWXe724TvczQ= X-Received: by 2002:a5d:5d05:0:b0:43d:76ec:91f6 with SMTP id ffacd0b85a97d-4493ee4c9bfmr10835307f8f.41.1777628617800; Fri, 01 May 2026 02:43:37 -0700 (PDT) Received: from localhost.localdomain (2a02-8428-814b-e401-c346-0011-0ba8-cca2.rev.sfr.net. [2a02:8428:814b:e401:c346:11:ba8:cca2]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-44a986aabf5sm3981119f8f.27.2026.05.01.02.43.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 May 2026 02:43:37 -0700 (PDT) From: Titouan Ameline de Cadeville To: jwerner@chromium.org Cc: tzungbi@kernel.org, briannorris@chromium.org, chrome-platform@lists.linuxfoundation.org, linux-kernel@vger.kernel.org, Titouan Ameline de Cadeville Subject: [PATCH v3] coreboot_table: skip failing entries instead of aborting populate Date: Fri, 1 May 2026 11:43:22 +0200 Message-ID: <20260501094322.123160-1-titouan.ameline@gmail.com> X-Mailer: git-send-email 2.44.2 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" coreboot_table_populate() registers devices one by one. If device_register() fails for one entry, the current code returns immediately, leaving previously registered devices orphaned on the coreboot bus with no cleanup path. Since coreboot table entries are independent of each other, a failure on one entry should not prevent the others from being registered. This mirrors the strategy used by of_platform_populate(), which skips individual failures rather than aborting. Move ptr_entry increment before device_register(), log a warning on failure, and continue the loop rather than aborting. Signed-off-by: Titouan Ameline de Cadeville Acked-by: Brian Norris --- v3: move ptr_entry increment before device_register() to avoid re-processing the same entry on failure (reported by Brian Norris) v2: continue the loop on failure instead of unregistering all devices (suggested by Julius Werner, with reference to of_platform_populate() from Brian Norris) drivers/firmware/google/coreboot_table.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/firmware/google/coreboot_table.c b/drivers/firmware/go= ogle/coreboot_table.c index c769631ea15d..a797ed1db161 100644 --- a/drivers/firmware/google/coreboot_table.c +++ b/drivers/firmware/google/coreboot_table.c @@ -148,13 +148,13 @@ static int coreboot_table_populate(struct device *dev= , void *ptr) break; } =20 + ptr_entry +=3D entry->size; + ret =3D device_register(&device->dev); if (ret) { + dev_warn(dev, "failed to register coreboot device: %d\n", ret); put_device(&device->dev); - return ret; } - - ptr_entry +=3D entry->size; } =20 return 0; --=20 2.44.2