u-boot/drivers
Fabio Estevam 29c2edb42b mmc: fsl_esdhc: Avoid infinite loop in esdhc_send_cmd_common()
The following hang is observed on a Hummingboard 2 MicroSOM
i2eX iMX6D - rev 1.3 with no eMMC populated on board:

U-Boot SPL 2018.11+gf6206f8587 (Nov 16 2018 - 00:56:34 +0000)
Trying to boot from MMC1

U-Boot 2018.11+gf6206f8587 (Nov 16 2018 - 00:56:34 +0000)

CPU:   Freescale i.MX6D rev1.5 996 MHz (running at 792 MHz)
CPU:   Extended Commercial temperature grade (-20C to 105C) at 33C
Reset cause: POR
Board: MX6 HummingBoard2
DRAM:  1 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
Loading Environment from MMC... *** Warning - bad CRC, using default environment

No panel detected: default to HDMI
Display: HDMI (1024x768)
In:    serial
Out:   serial
Err:   serial
---> hangs

which is caused by the following infinite loop inside esdhc_send_cmd_common()

	while (!(esdhc_read32(&regs->irqstat) & flags))
		;

Instead of looping forever, provide an exit path so that a timeout
error can be propagated in the case irqstat does not report
any interrupts, which may happen when no eMMC is populated on
board.

Reported-by: Ricardo Salveti <rsalveti@rsalveti.net>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
Tested-by: Ricardo Salveti <rsalveti@rsalveti.net>
2019-01-14 11:26:12 -05:00
..
adc
ata
axi
bios_emulator
block
board
bootcount
clk clk: imx8: fix build warning 2019-01-09 17:03:29 +01:00
core syscon: update syscon_node_to_regmap to use the DM functions 2018-12-15 11:49:56 -05:00
cpu cpu: Add a RISC-V CPU driver 2018-12-18 09:56:26 +08:00
crypto
ddr drivers: ddr: introduce DDR driver for i.MX8M 2019-01-01 14:12:18 +01:00
demo
dfu
dma dma: add bcm6348-iudma support 2018-12-19 15:23:00 +01:00
fastboot
firmware
fpga arm: socfpga: stratix10: Add Stratix10 FPGA into FPGA device table 2018-12-20 17:12:25 +01:00
gpio gpio: stm32f7: Fix SPL code size 2019-01-09 07:13:33 -05:00
hwspinlock
i2c
input
led
mailbox
memory
misc misc: imx8: scu: use platdata instead of priv data 2019-01-09 17:04:03 +01:00
mmc mmc: fsl_esdhc: Avoid infinite loop in esdhc_send_cmd_common() 2019-01-14 11:26:12 -05:00
mtd Merge branch 'master' of git://git.denx.de/u-boot-spi 2019-01-02 14:20:29 -05:00
net imx for 2019.01 2019-01-01 10:01:00 -05:00
nvme
pch
pci
pcmcia
phy phy: omap_usb2: Add support for am437x 2018-12-14 17:59:09 +01:00
pinctrl Revert "dm: pinctrl: Prevent (re-)configuring pins when already done before relocation" 2019-01-11 10:03:42 -05:00
power power: regulator: Allow PWM regulator to be omitted from SPL. 2019-01-02 22:38:09 +01:00
pwm
qe
ram rockchip: ram: update license for sdram driver 2019-01-02 22:37:10 +01:00
remoteproc
reset
rtc
scsi
serial drivers: serial: Add SiFive UART driver 2018-12-18 09:56:54 +08:00
smem
soc
sound dm: sound: Use the correct number of channels for sound 2018-12-13 16:37:10 -07:00
spi spi: sun4i: Add rx_buf NULL pointer check 2019-01-02 00:54:05 +05:30
spmi
sysreset
tee tee: change return code for REE FS supplicant cmd 2018-12-15 11:49:19 -05:00
thermal
timer timer: Add generic driver for RISC-V privileged architecture defined timer 2018-12-18 09:56:26 +08:00
tpm
usb dm: usb: gadget: Fix boot breakage on sunxi platforms 2019-01-10 18:53:03 +01:00
video video: Add a default TrueType font 2018-12-28 12:27:53 +01:00
virtio
w1 w1: Add driver for i.MX bus master controller 2019-01-01 14:12:18 +01:00
w1-eeprom
watchdog watchdog: imx: add config to disable wdog reset 2019-01-01 14:12:18 +01:00
Kconfig
Makefile Kconfig: rename CONFIG_SPL_USB_GADGET_SUPPORT as CONFIG_SPL_USB_GADGET 2019-01-10 18:52:55 +01:00