On 7/24/23 00:58, Simon Glass wrote:
Hi Heinrich,

On Sat, 22 Jul 2023 at 15:56, Heinrich Schuchardt
<heinrich.schucha...@canonical.com> wrote:

Many SATA controllers are PCI bus devices. Before calling scsi_scan() we
must bind the PCI devices.

Signed-off-by: Heinrich Schuchardt <heinrich.schucha...@canonical.com>
---
  common/spl/spl_sata.c | 2 ++
  1 file changed, 2 insertions(+)

diff --git a/common/spl/spl_sata.c b/common/spl/spl_sata.c
index 32746ce9f3..060da49006 100644
--- a/common/spl/spl_sata.c
+++ b/common/spl/spl_sata.c
@@ -61,6 +61,8 @@ static int spl_sata_load_image(struct spl_image_info 
*spl_image,
         struct blk_desc *stor_dev;

         /* try to recognize storage devices immediately */
+       if (IS_ENABLED(CONFIG_SPL_PCI))
+               pci_init();

error checking?

We should not fail here as there may be a SATA controller that does not depend on PCI though SPL_PCI is enabled.

Debug output for failing pci_init() (if deemed necessary) should be done within pci_init() and not be repeated for every invocation.

The boot method will write an error if it did not succeed. So don't add any debug output here.

Best regards

Heinrich


         scsi_scan(false);
         stor_dev = blk_get_devnum_by_uclass_id(UCLASS_SCSI, 0);
         if (!stor_dev)
--
2.40.1


Regards,
Simon

Reply via email to