From mboxrd@z Thu Jan 1 00:00:00 1970 From: Aaron Lu Subject: Re: [PATCH] mmc: sdhci: fix retuning timer wrongly deleted in sdhci_tasklet_finish Date: Thu, 21 Jul 2011 18:03:53 +0800 Message-ID: <20110721100351.GA31886@lovegaga> References: <1310362031-8186-1-git-send-email-Aaron.Lu@amd.com> <6C03668EAF45B747AF947A1603D1B300018F85B9E0@SAUSEXMBP01.amd.com> <20110721052358.GA31584@lovegaga> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: Received: from tx2ehsobe004.messaging.microsoft.com ([65.55.88.14]:32921 "EHLO TX2EHSOBE009.bigfish.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751986Ab1GUKFk convert rfc822-to-8bit (ORCPT ); Thu, 21 Jul 2011 06:05:40 -0400 Content-Disposition: inline In-Reply-To: Sender: linux-mmc-owner@vger.kernel.org List-Id: linux-mmc@vger.kernel.org To: zhangfei gao Cc: "Nath, Arindam" , Philip Rakity , subhashj@codeaurora.org, Chris Ball , linux-mmc@vger.kernel.org On Thu, Jul 21, 2011 at 05:35:02PM +0800, zhangfei gao wrote: >=20 > Does the execute_tuning is called again? > del_timer is not delete timer really, but deactivate the timer, which > could be re-activated by mod_timer. > So if execute_tuning is called, the mod_timer will tigger the tuning > timer again. > Hi zhangfei, Thanks for the comment. The execute_tuning will be called at two places: 1 In mmc_sd_init_uhs_card, when host is initializing an UHS card, and the re-tuning timer will be activated for the first time; 2 When re-tuning timer expired So if the re-tuning timer is deactivated in sdhci_tasklet_finish, execute_tuning will have no chance of getting called again, and the host will not be able to do the re-tuning anymore. =20 > >> > > >> > Signed-off-by: Aaron Lu > >> > --- > >> > =A0drivers/mmc/host/sdhci.c | =A0 =A03 --- > >> > =A01 files changed, 0 insertions(+), 3 deletions(-) > >> > > >> > diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c > >> > index 91d9892..6250bac 100644 > >> > --- a/drivers/mmc/host/sdhci.c > >> > +++ b/drivers/mmc/host/sdhci.c > >> > @@ -1863,9 +1863,6 @@ static void sdhci_tasklet_finish(unsigned = long > >> > param) > >> > > >> > =A0 =A0 del_timer(&host->timer); > >> > > >> > - =A0 if (host->version >=3D SDHCI_SPEC_300) > >> > - =A0 =A0 =A0 =A0 =A0 del_timer(&host->tuning_timer); > >> > - > >> > =A0 =A0 mrq =3D host->mrq; > >> > > >> > =A0 =A0 /* > >> > -- > >> > 1.7.1 > >> > >> > > > > >=20