lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 2 Jul 2009 09:18:08 +0200
From:	Pierre Ossman <pierre@...man.eu>
To:	Ben Nizette <bn@...sdigital.com>
Cc:	s.hauer@...gutronix.de,
	linux-kernel <linux-kernel@...r.kernel.org>,
	kernel <kernel@...32linux.org>, Ben Nizette <bn@...sdigital.com>
Subject: Re: [PATCH] MMC Core: Drop initialization frequency floor to 50kHz

On Thu, 02 Jul 2009 09:49:56 +1000
Ben Nizette <bn@...sdigital.com> wrote:

> Patch
> 
> commit 8dfd0374be84793360db7fff2e635d2cd3bbcb21
> Author: Sascha Hauer <s.hauer@...gutronix.de>
> Date:   Thu Apr 9 08:32:02 2009 +0200
> 
>     MMC core: limit minimum initialization frequency to 400kHz
> 
> Was recently merged.  This is too fast for at least one setup
> permutation - the one on my desk which through trial and error won't
> initialise at anything above ~350kHz (older Sandisk 256MB SD on
> atmel-mci).
> 
> To avoid a string of "just found card X which requires clock
> (current_clock - epsilon)" this patch drops the floor right down to
> 50kHz.  This is about the slowest rate before which the discovery
> process takes a noticeable slowdown.
> 
> Signed-off-by: Ben Nizette <bn@...sdigital.com>
> ---

50 kHz seems very low. I'd be more comfortable if we deviate from
specified behaviour as little as possible, say 300 kHz. Has anyone
checked what USB readers use?

And have you confirmed that the card is actually getting 350 kHz when
it fails? Perhaps there is a bug that is causing it to actually run at
a higher frequency.

> diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
> index d84c880..6ee1931 100644
> --- a/drivers/mmc/core/core.c
> +++ b/drivers/mmc/core/core.c
> @@ -708,12 +708,13 @@ static void mmc_power_up(struct mmc_host *host)
>  	 */
>  	mmc_delay(10);
>  
> -	if (host->f_min > 400000) {
> -		pr_warning("%s: Minimum clock frequency too high for "
> -				"identification mode\n", mmc_hostname(host));
> -		host->ios.clock = host->f_min;
> -	} else
> -		host->ios.clock = 400000;
> +	/*
> +	 * Card discovery is typically done at the controller's minimum
> +	 * allowable frequency but for some controllers this is minimum
> +	 * is unreasonably slow.  In that case we limit slow clock rate
> +	 * to 50KHz.
> +	 */
> +	host->ios.clock = max(host->f_min, 50000);
>  

I like getting that warning for too fast controllers. It makes it
easier to spot possible problems.

Rgds
-- 
     -- Pierre Ossman

  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.

Download attachment "signature.asc" of type "application/pgp-signature" (199 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ