All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans de Goede <hdegoede@redhat.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 3/5] sunxi: When we've both mmc0 and mmc2, detect from which one we're booting
Date: Sun, 12 Oct 2014 11:20:46 +0200	[thread overview]
Message-ID: <543A47EE.5050009@redhat.com> (raw)
In-Reply-To: <1413042208.11505.31.camel@hellion.org.uk>

Hi,

On 10/11/2014 05:43 PM, Ian Campbell wrote:
> On Mon, 2014-10-06 at 19:57 +0200, Hans de Goede wrote:
>> @@ -108,11 +109,31 @@ static void mmc_pinmux_setup(int sdc)
>>  
>>  int board_mmc_init(bd_t *bis)
>>  {
>> +	__maybe_unused struct mmc *mmc0, *mmc1;
>> +	__maybe_unused char buf[512];
>> +
>>  	mmc_pinmux_setup(CONFIG_MMC_SUNXI_SLOT);
>> -	sunxi_mmc_init(CONFIG_MMC_SUNXI_SLOT);
>> +	mmc0 = sunxi_mmc_init(CONFIG_MMC_SUNXI_SLOT);
>>  #if CONFIG_MMC_SUNXI_SLOT_EXTRA != -1
>>  	mmc_pinmux_setup(CONFIG_MMC_SUNXI_SLOT_EXTRA);
>> -	sunxi_mmc_init(CONFIG_MMC_SUNXI_SLOT_EXTRA);
>> +	mmc1 = sunxi_mmc_init(CONFIG_MMC_SUNXI_SLOT_EXTRA);
>> +#endif
>> +
>> +#if CONFIG_MMC_SUNXI_SLOT == 0 && CONFIG_MMC_SUNXI_SLOT_EXTRA == 2
>> +	/*
>> +	 * Both mmc0 and mmc2 are bootable, figure out where we're booting
>> +	 * from. Try mmc0 first, just like the brom does.
>> +	 */
>> +	if (mmc_getcd(mmc0) && mmc_init(mmc0) == 0 &&
> 
> If sunxi_mmx_init failed then mmc0 might be NULL here.
> 
>> +	    mmc0->block_dev.block_read(0, 16, 1, buf) == 1) {
>> +		buf[12] = 0;
>> +		if (strcmp(&buf[4], "eGON.BT0") == 0)
>> +			return 0;
>> +	}
>> +
>> +	/* no bootable card in mmc0, so we must be booting from mmc2, swap */
>> +	mmc0->block_dev.dev = 1;
>> +	mmc1->block_dev.dev = 0;
> 
> and mmc1 could be NULL here.

Hmm, this only happens when the calloc in mmc_create fails. I'll fix this in
v3, but I really believe that we should just switch u-boot over to the glib
malloc model of malloc should never fail.

Regards,

Hans


> 
> Ian.
> 

  reply	other threads:[~2014-10-12  9:20 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-06 17:57 [U-Boot] [PATCH v2 0/5] sunxi: Enable second sdcard slot found on some boards Hans de Goede
2014-10-06 17:57 ` [U-Boot] [PATCH v2 1/5] sunxi: Add mmc card-detect functionality Hans de Goede
2014-10-11 15:39   ` Ian Campbell
2014-10-12  8:30     ` Hans de Goede
2014-10-06 17:57 ` [U-Boot] [PATCH v2 2/5] sunxi: Turn MMC_SUNXI_SLOT_EXTRA into a proper Kconfig option Hans de Goede
2014-10-11 15:40   ` Ian Campbell
2014-10-12  8:32     ` Hans de Goede
2014-10-06 17:57 ` [U-Boot] [PATCH v2 3/5] sunxi: When we've both mmc0 and mmc2, detect from which one we're booting Hans de Goede
2014-10-11 15:43   ` Ian Campbell
2014-10-12  9:20     ` Hans de Goede [this message]
2014-10-06 17:57 ` [U-Boot] [PATCH v2 4/5] sunxi: Use PG3 - PG8 as io-pins for mmc1 Hans de Goede
2014-10-11 15:44   ` Ian Campbell
2014-10-06 17:57 ` [U-Boot] [PATCH v2 5/5] sunxi: Enable second sdcard slot found on some boards Hans de Goede
2014-10-11 15:47   ` Ian Campbell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=543A47EE.5050009@redhat.com \
    --to=hdegoede@redhat.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.