From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759454Ab2BJQSG (ORCPT ); Fri, 10 Feb 2012 11:18:06 -0500 Received: from mail-iy0-f174.google.com ([209.85.210.174]:62614 "EHLO mail-iy0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754450Ab2BJQSD convert rfc822-to-8bit (ORCPT ); Fri, 10 Feb 2012 11:18:03 -0500 MIME-Version: 1.0 In-Reply-To: <15D4F59C-7AFA-456E-8A5F-9E11EE9B9717@marvell.com> References: <4F30E19B.9020503@intel.com> <4F310529.4020101@intel.com> <4F31B789.9020509@samsung.com> <15D4F59C-7AFA-456E-8A5F-9E11EE9B9717@marvell.com> Date: Sat, 11 Feb 2012 00:18:03 +0800 Message-ID: Subject: Re: mmc sdhci mmcblk0: error -110 sending status command, retrying From: Jeff Chua To: Philip Rakity Cc: Jaehoon Chung , Chris Ball , Pierre Ossman , lkml , "linux-mmc@vger.kernel.org" , "arindam.nath@amd.com" , "zhangfei.gao@gmail.com" Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Feb 9, 2012 at 3:09 AM, Philip Rakity wrote: > > > Jeff, > > I think the sdhci.c clock setting code was changed a while ago.   Maybe revert that mod and see what happens. > > The card is a 24MHz which is rather slow so I would be surprised if that was it. > The other option is the force enable the High Speed bit in the  controller (used when speed is 25MHz or faster).  Will give the system more time (in theory) to work. That's a good point to start looking. I poked around and by setting host->ios.clock to 10000000 instead of 25000000, read from a 16GB card is no longer giving any error. I still don't dare to do any write. Already burn one 16GB SD and not ready to trash another. I asked earlier but haven't got any reply as to how to recover an SD that says "No medium found". Any chance of recovering it? Here's what I did. If set too low (1000000) or too high (25000000), random errors appeared. --- linux/drivers/mmc/core/core.c.org 2012-02-10 23:57:49.000000000 +0800 +++ linux/drivers/mmc/core/core.c 2012-02-10 23:53:59.000000000 +0800 @@ -881,7 +881,7 @@ if (hz > host->f_max) hz = host->f_max; - host->ios.clock = hz; + host->ios.clock = 10000000; mmc_set_ios(host); } Thanks, Jeff