From patchwork Wed Dec 7 08:50:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 1713103 X-Patchwork-Delegate: trini@ti.com Return-Path: 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=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=chromium.org header.i=@chromium.org header.a=rsa-sha256 header.s=google header.b=lbLm0WR3; dkim-atps=neutral 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)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NRrml2QJnz23yx for ; Wed, 7 Dec 2022 19:58:47 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id E488785601; Wed, 7 Dec 2022 09:55:26 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=chromium.org header.i=@chromium.org header.b="lbLm0WR3"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 51FF8855B4; Wed, 7 Dec 2022 09:55:13 +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=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE, SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 Received: from mail-pg1-x52b.google.com (mail-pg1-x52b.google.com [IPv6:2607:f8b0:4864:20::52b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 50781855EC for ; Wed, 7 Dec 2022 09:55:09 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sjg@chromium.org Received: by mail-pg1-x52b.google.com with SMTP id 142so257965pga.1 for ; Wed, 07 Dec 2022 00:55:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=An24V7UwbXlLQKImy13KddJWwtQG5wg+vMe1OmFiIbw=; b=lbLm0WR3POB8fUeaBmWznjzW9Hzsn51j68Nn1x44aNY1VfmIMEdtm3cBANzAl7sdzk o5r+vdqJU17kBAI5/rJ3hzs+0QIwFK9wIgwSDApsrJj40UBcEKtHgrLSkUCBmcvvJmSd 3GAifUIGv+wtRkO0vfCMi9c/IfFt0YfOjWeOE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=An24V7UwbXlLQKImy13KddJWwtQG5wg+vMe1OmFiIbw=; b=s34jCDkYLoJaG8tYdafrXBJIzGoG5HTNSQ1QzEdeH1+ZtCuP1SnDIKJ8ZwVUSAh6aO 5p9Pl4v+chCBp+ZLoI615I7oFrsqLAhLvQ5XI+cnOu978ryWMEUufAeYh5V6bpdnAP2R /1rr4kbwheW9ePBuhdD8nprms3wAWJ/CVaOB7JT99SE7UdM9fZTnZPw8VtuUg0Dojx33 JRuG+mHZYBXRz574ZP/Ybv/RqSVfeK4So0XxAnowzVF9hm5xiY7uoskaq0yeVJtK7MpY BY1WGnhana2Zp1upLsoZtqq6pyXcNXM3QrIUJAikJ9DfVFxgF2GkxexKqjfKyRHdr97W oDBw== X-Gm-Message-State: ANoB5pnfgo8Z8ADY3gxPgh6uub54J2qnBc2duQwTRekTgR4e4uvHtVsb S9QvM0e/zxzkFYlKzcjhMoHPlDqg/mf57iH4 X-Google-Smtp-Source: AA0mqf6N4PDy6BuA9u12uicmjrDaQ4nkSqc+qmU4JT15m3YXN8ok+78aybi5ShSzdTLRewbBbsw32Q== X-Received: by 2002:a05:6a00:a88:b0:574:2c5e:b18c with SMTP id b8-20020a056a000a8800b005742c5eb18cmr69423944pfl.10.1670403307483; Wed, 07 Dec 2022 00:55:07 -0800 (PST) Received: from localhost.localdomain ([27.110.126.54]) by smtp.gmail.com with ESMTPSA id l16-20020a170903121000b0018157b415dbsm14145514plh.63.2022.12.07.00.55.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Dec 2022 00:55:07 -0800 (PST) From: Simon Glass To: U-Boot Mailing List Cc: U-Boot Custodians , Simon Glass , Heinrich Schuchardt , Ilias Apalodimas Subject: [PATCH 22/71] efi: Improve logging in efi_disk Date: Wed, 7 Dec 2022 21:50:48 +1300 Message-Id: <20221207085137.445249-23-sjg@chromium.org> X-Mailer: git-send-email 2.39.0.rc0.267.gcb52ba06e7-goog In-Reply-To: <20221207085137.445249-1-sjg@chromium.org> References: <20221207085137.445249-1-sjg@chromium.org> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean When this fails it can be time-consuming to debug. Add some debugging to help with this. Also try to return error codes instead of just using -1. Signed-off-by: Simon Glass --- lib/efi_loader/efi_disk.c | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/lib/efi_loader/efi_disk.c b/lib/efi_loader/efi_disk.c index 7ea0334083f..37123dd2474 100644 --- a/lib/efi_loader/efi_disk.c +++ b/lib/efi_loader/efi_disk.c @@ -421,13 +421,16 @@ static efi_status_t efi_disk_add_dev( if (!node) { ret = EFI_OUT_OF_RESOURCES; + log_debug("no node\n"); goto error; } /* Parent must expose EFI_BLOCK_IO_PROTOCOL */ ret = efi_search_protocol(parent, &efi_block_io_guid, &handler); - if (ret != EFI_SUCCESS) + if (ret != EFI_SUCCESS) { + log_debug("search failed\n"); goto error; + } /* * Link the partition (child controller) to the block device @@ -436,8 +439,10 @@ static efi_status_t efi_disk_add_dev( ret = efi_protocol_open(handler, &protocol_interface, NULL, &diskobj->header, EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER); - if (ret != EFI_SUCCESS) - goto error; + if (ret != EFI_SUCCESS) { + log_debug("prot open failed\n"); + goto error; + } diskobj->dp = efi_dp_append_node(dp_parent, node); efi_free_pool(node); @@ -468,8 +473,10 @@ static efi_status_t efi_disk_add_dev( */ esp_guid, NULL, NULL); - if (ret != EFI_SUCCESS) + if (ret != EFI_SUCCESS) { + log_debug("install failed %lx\n", ret); goto error; + } /* * On partitions or whole disks without partitions install the @@ -482,8 +489,10 @@ static efi_status_t efi_disk_add_dev( ret = efi_add_protocol(&diskobj->header, &efi_simple_file_system_protocol_guid, diskobj->volume); - if (ret != EFI_SUCCESS) + if (ret != EFI_SUCCESS) { + log_debug("simple FS failed\n"); return ret; + } } diskobj->ops = block_io_disk_template; diskobj->dev_index = dev_index; @@ -552,18 +561,21 @@ static int efi_disk_create_raw(struct udevice *dev) ret = efi_disk_add_dev(NULL, NULL, desc, diskid, NULL, 0, &disk); if (ret != EFI_SUCCESS) { - if (ret == EFI_NOT_READY) + if (ret == EFI_NOT_READY) { log_notice("Disk %s not ready\n", dev->name); - else + ret = -EBUSY; + } else { log_err("Adding disk for %s failed (err=%ld/%#lx)\n", dev->name, ret, ret); + ret = -ENOENT; + } - return -1; + return ret; } if (efi_link_dev(&disk->header, dev)) { efi_free_pool(disk->dp); efi_delete_handle(&disk->header); - return -1; + return -EINVAL; } return 0;