diff options
Diffstat (limited to 'target/linux/brcm2708/patches-4.4/0496-bcm2835-sdhost-Don-t-exit-cmd-wait-loop-on-error.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.4/0496-bcm2835-sdhost-Don-t-exit-cmd-wait-loop-on-error.patch | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/target/linux/brcm2708/patches-4.4/0496-bcm2835-sdhost-Don-t-exit-cmd-wait-loop-on-error.patch b/target/linux/brcm2708/patches-4.4/0496-bcm2835-sdhost-Don-t-exit-cmd-wait-loop-on-error.patch deleted file mode 100644 index 36a02a42bf..0000000000 --- a/target/linux/brcm2708/patches-4.4/0496-bcm2835-sdhost-Don-t-exit-cmd-wait-loop-on-error.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 05bd3cc3309fd20d4c65d385181b7bbe3797eda6 Mon Sep 17 00:00:00 2001 -From: Phil Elwell <phil@raspberrypi.org> -Date: Fri, 2 Sep 2016 17:21:42 +0100 -Subject: [PATCH] bcm2835-sdhost: Don't exit cmd wait loop on error - -The FAIL flag can be set in the CMD register before command processing -is complete, leading to spurious "failed to complete" errors. This has -the effect of promoting harmless CRC7 errors during CMD1 processing -into errors that can delay and even prevent booting. - -Also: -1) Convert the last KERN_ERROR message in the register dumping to - KERN_INFO. -2) Remove an unnecessary reset call from bcm2835_sdhost_add_host. - -See: https://github.com/raspberrypi/linux/pull/1492 - -Signed-off-by: Phil Elwell <phil@raspberrypi.org> ---- - drivers/mmc/host/bcm2835-sdhost.c | 10 +++------- - 1 file changed, 3 insertions(+), 7 deletions(-) - ---- a/drivers/mmc/host/bcm2835-sdhost.c -+++ b/drivers/mmc/host/bcm2835-sdhost.c -@@ -373,7 +373,7 @@ static void bcm2835_sdhost_dumpregs(stru - pr_info("%s: SDRSP2 0x%08x\n", - mmc_hostname(host->mmc), - bcm2835_sdhost_read(host, SDRSP2)); -- pr_err("%s: SDRSP3 0x%08x\n", -+ pr_info("%s: SDRSP3 0x%08x\n", - mmc_hostname(host->mmc), - bcm2835_sdhost_read(host, SDRSP3)); - pr_info("%s: SDHSTS 0x%08x\n", -@@ -1183,9 +1183,8 @@ static void bcm2835_sdhost_finish_comman - retries = 1; // We've already waited long enough this time - } - -- retries = host->cmd_quick_poll_retries; - for (sdcmd = bcm2835_sdhost_read(host, SDCMD); -- (sdcmd & SDCMD_NEW_FLAG) && !(sdcmd & SDCMD_FAIL_FLAG) && retries; -+ (sdcmd & SDCMD_NEW_FLAG) && retries; - retries--) { - cpu_relax(); - sdcmd = bcm2835_sdhost_read(host, SDCMD); -@@ -1208,8 +1207,7 @@ static void bcm2835_sdhost_finish_comman - usleep_range(1, 10); - spin_lock_irqsave(&host->lock, *irq_flags); - sdcmd = bcm2835_sdhost_read(host, SDCMD); -- if (!(sdcmd & SDCMD_NEW_FLAG) || -- (sdcmd & SDCMD_FAIL_FLAG)) -+ if (!(sdcmd & SDCMD_NEW_FLAG)) - break; - } - } -@@ -1892,8 +1890,6 @@ int bcm2835_sdhost_add_host(struct bcm28 - - mmc = host->mmc; - -- bcm2835_sdhost_reset_internal(host); -- - mmc->f_max = host->max_clk; - mmc->f_min = host->max_clk / SDCDIV_MAX_CDIV; - |