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? thanks, greg k-h