Message ID | 20221114124243.3719037-2-paul.barker@sancloud.com |
---|---|
State | Accepted |
Delegated to: | Tom Rini |
Headers | show
Return-Path: <u-boot-bounces@lists.denx.de> X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=<UNKNOWN>) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4N9prg3Yt5z1yhv for <incoming@patchwork.ozlabs.org>; Mon, 14 Nov 2022 23:43:31 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id BC93583021; Mon, 14 Nov 2022 13:43:11 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sancloud.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: by phobos.denx.de (Postfix, from userid 109) id 6B6BC830E9; Mon, 14 Nov 2022 13:43:07 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_PASS, SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from APC01-TYZ-obe.outbound.protection.outlook.com (mail-tyzapc01on2060f.outbound.protection.outlook.com [IPv6:2a01:111:f403:704b::60f]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 97726830E2 for <u-boot@lists.denx.de>; Mon, 14 Nov 2022 13:43:03 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=sancloud.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=paul.barker@sancloud.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IjtcPKeeo7/ladLsOX1bsLDF1FNUZYll7I1q4mGMKcB2on7aNiFuGOIHAu5iUg1tx1YVz1Z+uB7hZUTm4naAqRjmjJIYIsTvTl9xdG+819daUBiZx87pwvnNW+uiXQpnBKDN4Fd+ENRIBiGhgQXfDjf1KPsKQbj+cZhEgU9Xl8P07WhIOebxwRBc9VtV6DywNSipNJ9o1//V29WBLZpQFeMihQPqMdG8VZsdplELhz39OWkryOP2xAFrgClI794punB5QyH9RUcMGW7WzzBXnsQ7gCU7GVNZ7AJRmeasGlTkvqdLB+0WgFYfDbv/iqub/FBEma0hLMFohXyTTawDlA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=b6PTEdyM2N8nV6YnF0pzJAAQiJUNadcIoKraH+3QY78=; b=PbdwqOdmbPcVB3HiDJrqM8YwZ4g/aPVvWHtqShILU0VBsxOkHKu/CvXvhov9NY08xvJyTjZQxhD+HbOC6OOeoy+NRcbNFsl6GmaWsZTqmmZiqtRADhLrUot6SS/pF6FWB986xc9yqLKb2Vd2l6cW/SKmdy9oNdd2qYI/g3Lt6woB8SIEKz9l/Rq9VV3epHF9goR/MFbsotA5TQgD70Jk7GYZI3e07TxZwQ0XMnJHOAxhMiAtoGMYWDHmtY6qLVhIW9EWq69F4xr4m7HWJOVYsZULcKfXAr/acUbMfrmJJqSGZg7fSljUWwKG06xJF2StQnvf0LHBYmgB8LN4/JQx/A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sancloud.com; dmarc=pass action=none header.from=sancloud.com; dkim=pass header.d=sancloud.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=sancloud.com; Received: from SEYPR06MB5064.apcprd06.prod.outlook.com (2603:1096:101:55::13) by PSAPR06MB4472.apcprd06.prod.outlook.com (2603:1096:301:79::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.17; Mon, 14 Nov 2022 12:43:00 +0000 Received: from SEYPR06MB5064.apcprd06.prod.outlook.com ([fe80::3343:e4e0:2fbb:3c9c]) by SEYPR06MB5064.apcprd06.prod.outlook.com ([fe80::3343:e4e0:2fbb:3c9c%6]) with mapi id 15.20.5813.017; Mon, 14 Nov 2022 12:43:00 +0000 From: Paul Barker <paul.barker@sancloud.com> To: u-boot@lists.denx.de, Simon Glass <sjg@chromium.org>, Tom Rini <trini@konsulko.com> Cc: Paul Barker <paul.barker@sancloud.com> Subject: [PATCH v2 1/9] dm: core: Fix iteration over driver_info records Date: Mon, 14 Nov 2022 12:42:35 +0000 Message-Id: <20221114124243.3719037-2-paul.barker@sancloud.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221114124243.3719037-1-paul.barker@sancloud.com> References: <20221114124243.3719037-1-paul.barker@sancloud.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: LO2P265CA0191.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:a::35) To SEYPR06MB5064.apcprd06.prod.outlook.com (2603:1096:101:55::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SEYPR06MB5064:EE_|PSAPR06MB4472:EE_ X-MS-Office365-Filtering-Correlation-Id: 955353ab-b7c8-4cb0-2a74-08dac63dc369 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bwQVmfDIQxituTr2A6fmYgZNW6xd/npENz1HviwqfnltJzopz08YWK4AjqIXzelFbK5MxbXHbier4ZdPr+/CKY+7UBHX3Fg0R7ZGWwQYFk+vR/CWOYeqNaOj1uCFbuaux/SY8YHClSb+abagp26pDUN3+YJBrFiGl0RDJSHnxTJO4aH0RQQ/nrsnoDgwgjR2Z9IXOxnzD1RvGjWhQTKt/wWSllIFFxFifT0QC7Ykdlfv3Ff7gRGkesATUU/89pKArXAlIKo29A7utoVKgf5FKfmaJj9RdUJTgeaVhf68RvQRtI67FN8IF7O+CRbM10s7j5WFQXePclq8EvIdI43EXTDZVMIUksZMgELwG1hBJXkM/glRkLkMi6CE4R9KZAXdaLwvmg8hpUFr8zhSZe3+qYKil024h64vn8YFeMnctEl8HLP5r9ULjCwXnhX+v10JBZPhmK1Bv3Z8W+1prv1W4YshSihZfUahVBGTHTPihewUx0RPGrzQU5P+Vr5lt7k3WdfbpGDraDgfzFtP1tRDpi+vUtqnvoQ+d4wcH8e+iNXT/7aNiMZgWZVxLBLBvBrf6zNojyeYO7xb2bD7Ptb6SNXMk9WJgDkwnvmUCKoiYhkEcxwEjFmk62gcXn4X5PXVKsHiGWdfQsxc9Z2Rr06KqCP3xHY1vuNB6os5rJimA6IOce9q1R+NlQ+0gI/vmZutQJeNFqSgkHuO5xHGjeC0xmOG6DA18hDefzOjjO5CmsaDrcHeTBmqriyaw/et8LdZx+5GSR2e6Nr9FpRHIEZycQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SEYPR06MB5064.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(136003)(376002)(396003)(366004)(346002)(39830400003)(451199015)(41320700001)(478600001)(6666004)(107886003)(6486002)(6506007)(110136005)(36756003)(8936002)(6512007)(26005)(786003)(316002)(66946007)(66556008)(66476007)(4326008)(8676002)(186003)(2616005)(5660300002)(52116002)(1076003)(41300700001)(44832011)(83380400001)(2906002)(38100700002)(38350700002)(86362001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: H1hFE5xUEu0HMPFO0VsCXsQGQd1ZxComGd3Hvf/E0asuK0m5zQ2UGDeKwohKnxbh3TMZpRsfivJTRtlfNl0IkTQBfC+qQo+4/gOmk/OZhw6m7yMxlrMA1X4ScBkpfAaP4A4XVi+OscbftmsGI5W3CXx/dXClt7y5yAlKNGHUb1pRmkiL7hchJalexfq9AsOxxAf7gJzkMA34tfq+AXRlmncaVMSZ9sfm35ybeEvDh4WQwyEqZpNFbRrukQ2/MQrLvglqqtPHaolFB5ppt/2Ec4hZIrZCRmQeTFna/ZTWzNF2h8jG3l4hIjaD7UejEsnYE3AmoMiocNfckz6jTa7pkcqpqY3YccSMNN2wYxC2FYp1ZsdwgNwV7b2+llJdWGGOt+t2J5KwxgRuwLveUNwJW2JVbbFkfjv6NHkxhgGtJOQHD9rnQC+szssHY5Oj/z9FzsbOZMtEEJKUGzVgWoB6QfRHNEb9R5q6phffD3u1buIl7Q9Az/QCsr3XSc4ey+u+XtqCPbbIavYtBoQn5sUlP3xnmDLlw6mXgb1W5fGgnwzzPivef1jePHeu1mYF+MVSFfiwtWph9HPKRbBbqtixJVRzLY1CvuiyMRU1w2lzki/ytBQ4xyVzTO0TlMYrUUISaK4iOqR6nsMnnCkg6KezhD1yW5cSapWiN5+//bWXxr2Ao8yvTQu1ANOIuoV3NbYHL9I2Q4tIU4EGX2LYLEA4u7RS6u2CFRKgvyYaCO6mPBE960PNwe0OyGdKq6eCcuUkau+ygymaxBWwWAI4VBNuwcmJgpLi0ZhIXqnH5WUZdwcKgpZWGlesphBeLNAriCJlVY+w5iE9Mh20wjvbw44sRq+ylppby0DUcaFU7znVdveGsx+0HoPKcpKqUuuA1j03OJTcclixS0mpvPcaIyCdTiLLrYsr7V/j+IGQemeJJF4tudsrdBoNEtiDH3ajvwS+0icFI+EwqjQ82Dh0NaF/RsLTo8nu4T978xdFX0/c3/2VUYtqI3fP/ye+noUUTq6e5oUV6itdEfnXWTSFqJGq2SbYRdaSUewGs4+wFlcCTRwpE8+UrEhVlIewFArpg9iRMsOLPq4e1MNMkxVJY8GDX1qTDyfyt0H/UUGrHkIQ88gInneviNd1JWh8IPp45ZM2/VfQouTjPl4ZlFhmchQPGriMDZHilvPv//112vjrd96PXcUsd+S1K3D4mOo7vhKT9FTYOklvgLps8h3pLG1Axoh46RBDDys9B6Vy5eR1pzxWOKMH6RZ/ANVzpGInFZ24BwhhSkHT79FfHrFmKTzGx6v9qw+32bO5y1XHl3SxfLKsAVV9KJN7JyqxXUcC7AdrsbiBMlRompGGZhZOv/puRK2D2PnjZ9zEmV+juZkONWhN/avaGudios98nqDiEaBnPEFoAr7WXonWOriignuTvv+RHx8VyrQgR26m/OB6qDhFu1IUTYJJKDWvSiIV6YcHkBUp/xJrpPZfrb44vnUBo/FvisXyTFE7dRNx/P8UprKMy209Rq9GiVzquE19tKVBVJS60ZDAhm18TCFZkpGBU9WhwHKqOSQqKPVKlZ0gVNSQxGjz6ao64DKPShPtE9BPLMGBybgyqKZRNnABzM6DJw== X-OriginatorOrg: sancloud.com X-MS-Exchange-CrossTenant-Network-Message-Id: 955353ab-b7c8-4cb0-2a74-08dac63dc369 X-MS-Exchange-CrossTenant-AuthSource: SEYPR06MB5064.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Nov 2022 12:43:00.3393 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3e0f949f-6a74-4378-baf2-0abfca8d5e06 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: yu5JIA72JIZWu45jav4+BTV5oC9e1IsO94ysYHbxz39RCL1D24ks0bL2wIgzYdlZxgivRg0i2jf09tYfts+4QnpwECSdekgxQjdHueTslOg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PSAPR06MB4472 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion <u-boot.lists.denx.de> List-Unsubscribe: <https://lists.denx.de/options/u-boot>, <mailto:u-boot-request@lists.denx.de?subject=unsubscribe> List-Archive: <https://lists.denx.de/pipermail/u-boot/> List-Post: <mailto:u-boot@lists.denx.de> List-Help: <mailto:u-boot-request@lists.denx.de?subject=help> List-Subscribe: <https://lists.denx.de/listinfo/u-boot>, <mailto:u-boot-request@lists.denx.de?subject=subscribe> Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" <u-boot-bounces@lists.denx.de> X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean |
Series |
Fixes for SPI boot on SanCloud BBE Lite
|
expand
|
On Mon, Nov 14, 2022 at 12:42:35PM +0000, Paul Barker wrote: > We should only perform additional iteration steps when needed to > initialize the parent of a device. Other binding errors (such as a > missing driver) should not lead to additional iteration steps. > > Unnecessary iteration steps can cause issues when memory is tightly > constrained (such as in the TPL/SPL) since device_bind_by_name() > unconditionally allocates memory for a struct udevice. On the SanCloud > BBE this led to boot failure caused by memory exhaustion in the SPL > when booting from SPI flash. > > Signed-off-by: Paul Barker <paul.barker@sancloud.com> For the series, applied to u-boot/master, thanks!
diff --git a/drivers/core/lists.c b/drivers/core/lists.c index 3878957c9ef4..8034a8f48d99 100644 --- a/drivers/core/lists.c +++ b/drivers/core/lists.c @@ -120,10 +120,10 @@ int lists_bind_drivers(struct udevice *parent, bool pre_reloc_only) int ret; ret = bind_drivers_pass(parent, pre_reloc_only); - if (!ret) - break; - if (ret != -EAGAIN && !result) + if (!result || result == -EAGAIN) result = ret; + if (ret != -EAGAIN) + break; } return result;
We should only perform additional iteration steps when needed to initialize the parent of a device. Other binding errors (such as a missing driver) should not lead to additional iteration steps. Unnecessary iteration steps can cause issues when memory is tightly constrained (such as in the TPL/SPL) since device_bind_by_name() unconditionally allocates memory for a struct udevice. On the SanCloud BBE this led to boot failure caused by memory exhaustion in the SPL when booting from SPI flash. Signed-off-by: Paul Barker <paul.barker@sancloud.com> --- drivers/core/lists.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)