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]
Message-ID: <CAPDyKFpe4_3BXFB8jxHhZknfmT2UrO6ddCcOpq2whN3ayEO6Dg@mail.gmail.com>
Date:	Tue, 22 Apr 2014 13:36:11 +0200
From:	Ulf Hansson <ulf.hansson@...aro.org>
To:	Seungwon Jeon <tgih.jun@...sung.com>
Cc:	Stephen Rothwell <sfr@...b.auug.org.au>,
	Fariya Fatima <fariyaf@...il.com>,
	"John W. Linville" <linville@...driver.com>,
	Jaehoon Chung <jh80.chung@...sung.com>,
	Chris Ball <chris@...ntf.net>,
	"linux-next@...r.kernel.org" <linux-next@...r.kernel.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	linux-mmc <linux-mmc@...r.kernel.org>
Subject: Re: [PATCH] linux-next: rsi: fix using of removed stuff from mmc

On 22 April 2014 12:53, Seungwon Jeon <tgih.jun@...sung.com> wrote:
> On Tue, April 22, 2014, Ulf Hansson wrote:
>> On 22 April 2014 08:57, Seungwon Jeon <tgih.jun@...sung.com> wrote:
>> > As commit 3957848(mmc: drop the speed mode of card's state) applies,
>> > this change should be followed.
>> >
>> > drivers/net/wireless/rsi/rsi_91x_sdio.c:288:20: error: 'MMC_STATE_HIGHSPEED' undeclared (first use
>> in this function)
>> > drivers/net/wireless/rsi/rsi_91x_sdio.c:299:4: error: implicit declaration of function
>> 'mmc_card_set_highspeed' [-Werror=implicit-function-declaration]
>> > drivers/net/wireless/rsi/rsi_91x_sdio.c:306:2: error: implicit declaration of function
>> 'mmc_card_highspeed' [-Werror=implicit-function-declaration]
>> >
>> > Signed-off-by: Seungwon Jeon <tgih.jun@...sung.com>
>>
>> Hi Seungwon,
>>
>> Thanks for responding quickly!
>>
>> > ---
>> >  drivers/net/wireless/rsi/rsi_91x_sdio.c |    4 +---
>> >  1 files changed, 1 insertions(+), 3 deletions(-)
>> >
>> > diff --git a/drivers/net/wireless/rsi/rsi_91x_sdio.c b/drivers/net/wireless/rsi/rsi_91x_sdio.c
>> > index 2e39d38..46e7af4 100644
>> > --- a/drivers/net/wireless/rsi/rsi_91x_sdio.c
>> > +++ b/drivers/net/wireless/rsi/rsi_91x_sdio.c
>> > @@ -285,7 +285,6 @@ static void rsi_reset_card(struct sdio_func *pfunction)
>> >                 if (err) {
>> >                         rsi_dbg(ERR_ZONE, "%s: CCCR speed reg read failed: %d\n",
>> >                                 __func__, err);
>> > -                       card->state &= ~MMC_STATE_HIGHSPEED;
>> >                 } else {
>> >                         err = rsi_cmd52writebyte(card,
>> >                                                  SDIO_CCCR_SPEED,
>> > @@ -296,14 +295,13 @@ static void rsi_reset_card(struct sdio_func *pfunction)
>> >                                         __func__, err);
>> >                                 return;
>> >                         }
>> > -                       mmc_card_set_highspeed(card);
>> >                         host->ios.timing = MMC_TIMING_SD_HS;
>> >                         host->ops->set_ios(host, &host->ios);
>> >                 }
>> >         }
>> >
>> >         /* Set clock */
>> > -       if (mmc_card_highspeed(card))
>> > +       if (mmc_card_hs(card))
>> >                 clock = 50000000;
>> >         else
>> >                 clock = card->cis.max_dtr;
>> > --
>> > 1.7.0.4
>> >
>> >
>>
>> I am not sure it's safe to carry this patch through Chris' mmc tree
>> due to merge conflicts with John's wireless tree.
>>
>> Though, since you have changed the mmc_card_highspeed() function to be
>> named to mmc_card_hs(), we need to work out the dependency.
>>
>> We have some options to handle this, I suggest the following.
>>
>> Re-spin this patch to keep using mmc_card_highspeed() and let John
>> take it through his wireless tree. Thus  you also need to keep the
> It would be better if this patch can be handled in Chris's.
> Because if the rest of changes of this patch with keeping "mmc_card_highspeed" is applied,
> high-speed SDIO will be ignored in John's tree.

You are right Seungwon!

Please re-spin the patchset on the mmc core an squash the code from
this patch, into the patch "mmc: drop the speed mode of card's state".
We then need to get acks from John and Fariya.

BTW, I had a look at the rsi_reset_card() function
(drivers/net/wireless/rsi/rsi_91x_sdio.c), which handles a complete
SDIO re-initialization and I think performs "layering violations"
while doing that.  I suppose it's because of lack of documentation
about the mmc/sdio core, but I really don't think an SDIO func driver
should be doing that kind of stuff by itself. There are APIs to use to
perform an SDIO reset. Two options exists:

a) Use pm_runtime_get|put in combination with a MMC_CAP_POWER_OFF_CARD
enabled host.
b) Invoke mmc_power_save|restore_host() API.

Kind regards
Ulf Hansson

>
> Thanks,
> Seungwon Jeon
>
>> name mmc_card_highspeed() function from the patches to the mmc core -
>> could you please re-spin and post new version of those patches as
>> well!?
>>
>> Kind regards
>> Ulf Hansson
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ