Message ID | 2535223.qa7H57Aml3@wasted.cogentembedded.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 5 September 2014 23:42, Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> wrote: > I spent a couple of days with the driver just hanging due to me forgetting to > specify the external crystal frequency, so that clk_get_rate() returned 0 and > thus the loop in tmio_mmc_set_clock() never ended. I don't think that's an > acceptable behavior, so I suggest that the minimum frequency is checked for 0 > in tmio_mmc_host_probe(). > > Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> > > --- > The patch is against Ulf Hansson's 'mmc.git' repo's 'fixes' branch. Hi Sergei, Could you please base it towards "next" instead, it doesn't apply. If you think this is important to go stable, I suggest you to add a stable tag for it. Kind regards Uffe > > Changes in version 2: > - fixed grammar in the changelog. > > drivers/mmc/host/tmio_mmc_pio.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > Index: mmc/drivers/mmc/host/tmio_mmc_pio.c > =================================================================== > --- mmc.orig/drivers/mmc/host/tmio_mmc_pio.c > +++ mmc/drivers/mmc/host/tmio_mmc_pio.c > @@ -1044,6 +1044,15 @@ int tmio_mmc_host_probe(struct tmio_mmc_ > } > > /* > + * Check the sanity of mmc->f_min to prevent tmio_mmc_set_clock() from > + * looping forever... > + */ > + if (mmc->f_min == 0) { > + ret = -EINVAL; > + goto pm_disable; > + } > + > + /* > * There are 4 different scenarios for the card detection: > * 1) an external gpio irq handles the cd (best for power savings) > * 2) internal sdhi irq handles the cd > -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hello. Sorry for delay: I'm on vacations and WiFi didn't work well here... On 09/08/2014 03:17 PM, Ulf Hansson wrote: >> I spent a couple of days with the driver just hanging due to me forgetting to >> specify the external crystal frequency, so that clk_get_rate() returned 0 and >> thus the loop in tmio_mmc_set_clock() never ended. I don't think that's an >> acceptable behavior, so I suggest that the minimum frequency is checked for 0 >> in tmio_mmc_host_probe(). >> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> >> --- >> The patch is against Ulf Hansson's 'mmc.git' repo's 'fixes' branch. > Hi Sergei, > Could you please base it towards "next" instead, it doesn't apply. If > you think this is important to go stable, I suggest you to add a > stable tag for it. It's a bit of a corner case, of course, but the consequences are just too disastrous: AFAIR, an ARM kernel just silently hangs on boot, with no hints of where. So I'm going to CC: -stable. > Kind regards > Uffe WBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Index: mmc/drivers/mmc/host/tmio_mmc_pio.c =================================================================== --- mmc.orig/drivers/mmc/host/tmio_mmc_pio.c +++ mmc/drivers/mmc/host/tmio_mmc_pio.c @@ -1044,6 +1044,15 @@ int tmio_mmc_host_probe(struct tmio_mmc_ } /* + * Check the sanity of mmc->f_min to prevent tmio_mmc_set_clock() from + * looping forever... + */ + if (mmc->f_min == 0) { + ret = -EINVAL; + goto pm_disable; + } + + /* * There are 4 different scenarios for the card detection: * 1) an external gpio irq handles the cd (best for power savings) * 2) internal sdhi irq handles the cd
I spent a couple of days with the driver just hanging due to me forgetting to specify the external crystal frequency, so that clk_get_rate() returned 0 and thus the loop in tmio_mmc_set_clock() never ended. I don't think that's an acceptable behavior, so I suggest that the minimum frequency is checked for 0 in tmio_mmc_host_probe(). Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> --- The patch is against Ulf Hansson's 'mmc.git' repo's 'fixes' branch. Changes in version 2: - fixed grammar in the changelog. drivers/mmc/host/tmio_mmc_pio.c | 9 +++++++++ 1 file changed, 9 insertions(+) -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html