Hi, On Mon, Aug 7, 2017 at 1:58 PM, Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > On Mon, Aug 07, 2017 at 01:38:43PM -0700, gregkh@xxxxxxxxxxxxxxxxxxx wrote: >> >> This is a note to let you know that I've just added the patch titled >> >> mmc: core: Fix access to HS400-ES devices >> >> to the 4.4-stable tree which can be found at: >> http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary >> >> The filename of the patch is: >> mmc-core-fix-access-to-hs400-es-devices.patch >> and it can be found in the queue-4.4 subdirectory. >> >> If you, or anyone else, feels it should not be added to the stable tree, >> please let <stable@xxxxxxxxxxxxxxx> know about it. >> >> >> >From 773dc118756b1f38766063e90e582016be868f09 Mon Sep 17 00:00:00 2001 >> From: Guenter Roeck <linux@xxxxxxxxxxxx> >> Date: Wed, 1 Mar 2017 14:11:47 -0800 >> Subject: mmc: core: Fix access to HS400-ES devices >> >> From: Guenter Roeck <linux@xxxxxxxxxxxx> >> >> commit 773dc118756b1f38766063e90e582016be868f09 upstream. >> >> HS400-ES devices fail to initialize with the following error messages. >> >> mmc1: power class selection to bus width 8 ddr 0 failed >> mmc1: error -110 whilst initialising MMC card >> >> This was seen on Samsung Chromebook Plus. Code analysis points to >> commit 3d4ef329757c ("mmc: core: fix multi-bit bus width without >> high-speed mode"), which attempts to set the bus width for all but >> HS200 devices unconditionally. However, for HS400-ES, the bus width >> is already selected. >> >> Cc: Anssi Hannula <anssi.hannula@xxxxxxxxxx> >> Cc: Douglas Anderson <dianders@xxxxxxxxxxxx> >> Cc: Brian Norris <briannorris@xxxxxxxxxxxx> >> Fixes: 3d4ef329757c ("mmc: core: fix multi-bit bus width ...") >> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> >> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx> >> Reviewed-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxx> >> Tested-by: Heiko Stuebner <heiko@xxxxxxxxx> >> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> >> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> >> >> --- >> drivers/mmc/core/mmc.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> --- a/drivers/mmc/core/mmc.c >> +++ b/drivers/mmc/core/mmc.c >> @@ -1581,7 +1581,7 @@ static int mmc_init_card(struct mmc_host >> err = mmc_select_hs400(card); >> if (err) >> goto free_card; >> - } else { >> + } else if (!mmc_card_hs400es(card)) { > > Nope, this breaks the build on 4.4. Anyone want to provide a working > backport? My mistake. This is only needed on 4.4 if you also happen to have the HS400ES patches backported. I guess the danger of backporting stuff (like HS400ES) into a private kernel tree is that linux-stable merges have the ability to break you in this way. :-P Thank you for catching and for applying the patch to 4.9. -Doug