mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] drivers/mmc/core/core.c: extend limit
@ 2009-03-25 22:03 Frans Meulenbroeks
  2009-04-05 18:57 ` Pierre Ossman
  0 siblings, 1 reply; 2+ messages in thread
From: Frans Meulenbroeks @ 2009-03-25 22:03 UTC (permalink / raw)
  To: drzeus-mmc; +Cc: linux-kernel, beagleboard, openembedded-devel, linux-omap

Hi,

For some reason my 4GB Kingston SDHC class 6 cards stopped functioning 
properly with 2.6.28 on my beagleboard (arm based). The very same cards (I 
have two of them) worked properly with 2.6.27. What happened was that if I 
booted from the card I would get errors -110.
They are similar to the ones reported at lkml last sept in 
http://lkml.org/lkml/2008/9/23/390

Fortunately later on in this thread was a fix:
http://lkml.org/lkml/2008/10/20/124

This did not help me as the limit was already at 300000. However, I 
decided to raise the limit to 500000. Still no go so I also doubled the 
read limit from 100000 to 200000. After that the cards work without 
problem. Changing the write timing back to 300000 brought the problem back 
so apparently both timings need to be extended. Attached is the patch I 
used for this. As it is a timeout limit value, it should not harm anyone, 
and a longer timeout at least allows more cards to be used.

Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
---

What somewhat troubles me is that this worked in .27, so it might be this 
patch does not address the root cause. Then again this is the best I can 
do. If someone has a better solution, I am more than happy to test it.

Frans.

Index: git/drivers/mmc/core/core.c
===================================================================
--- git.orig/drivers/mmc/core/core.c
+++ git/drivers/mmc/core/core.c
@@ -284,9 +284,9 @@ void mmc_set_data_timeout(struct mmc_dat
 			 * The limit is really 250 ms, but that is
 			 * insufficient for some crappy cards.
 			 */
-			limit_us = 300000;
+			limit_us = 500000;
 		else
-			limit_us = 100000;
+			limit_us = 200000;

 		/*
 		 * SDHC cards always use these fixed values.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] drivers/mmc/core/core.c: extend limit
  2009-03-25 22:03 [PATCH] drivers/mmc/core/core.c: extend limit Frans Meulenbroeks
@ 2009-04-05 18:57 ` Pierre Ossman
  0 siblings, 0 replies; 2+ messages in thread
From: Pierre Ossman @ 2009-04-05 18:57 UTC (permalink / raw)
  To: Frans Meulenbroeks
  Cc: linux-kernel, beagleboard, openembedded-devel, linux-omap

On Wed, 25 Mar 2009 23:03:28 +0100 (CET)
Frans Meulenbroeks <fransmeulenbroeks@gmail.com> wrote:

> 
> This did not help me as the limit was already at 300000. However, I 
> decided to raise the limit to 500000. Still no go so I also doubled the 
> read limit from 100000 to 200000. After that the cards work without 
> problem. Changing the write timing back to 300000 brought the problem back 
> so apparently both timings need to be extended. Attached is the patch I 
> used for this. As it is a timeout limit value, it should not harm anyone, 
> and a longer timeout at least allows more cards to be used.
> 

Unfortunately some controllers cannot cope with huge timeouts and will
complain. And such a huge timeout shouldn't be needed (and they weren't
any larger in .27).

> 
> What somewhat troubles me is that this worked in .27, so it might be this 
> patch does not address the root cause. Then again this is the best I can 
> do. If someone has a better solution, I am more than happy to test it.
> 

Indeed. Have you enabled MMC_DEBUG and checked that the controller
actually follows the configured timeouts?

Rgds
-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  rdesktop, core developer          http://www.rdesktop.org

  WARNING: This correspondence is being monitored by the
  Swedish government. Make sure your server uses encryption
  for SMTP traffic and consider using PGP for end-to-end
  encryption.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-04-05 18:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-03-25 22:03 [PATCH] drivers/mmc/core/core.c: extend limit Frans Meulenbroeks
2009-04-05 18:57 ` Pierre Ossman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®