[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20081019160422.GA16377@jeknote.loshitsa1.net>
Date: Sun, 19 Oct 2008 19:04:25 +0300
From: Yauhen Kharuzhy <jekhor@...il.com>
To: Pierre Ossman <drzeus-mmc@...eus.cx>
Cc: linux-kernel@...r.kernel.org
Subject: Re: [PATCH] MMC: Fix race condition in resume/card detect code
On Sat, Oct 18, 2008 at 07:11:47PM +0200, Pierre Ossman wrote:
> On Thu, 16 Oct 2008 19:09:36 +0300
> Yauhen Kharuzhy <jekhor@...il.com> wrote:
>
> > When device wakes up by card change interrupt and MMC_UNSAFE_RESUME is
> > enabled then race condition between mmc_rescan() and
> > mmc_resume()/mmc_sd_resume() appeared.
> >
> > Resume functions can sleep into mmc_remove_card() and at this time
> > mmc_rescan() can be called by delayed work handler. Double-free of
> > kobject or double-remove of host->card can be result of this.
> >
> > This patch adds an mutex which deny simultaneous executing of
> > mmc_sd_resume()/mmc_resume() and mmc_rescan() functions. Probably, it is
> > not right way.
> >
> > Signed-off-by: Yauhen Kharuzhy <jekhor@...il.com>
> > ---
>
> Can't we just ask the PM layer if this device is currently resuming,
> and if so ignore card notifications from the driver?
What about another idea: mmc_sd_resume() checks if host->detect is
scheduled and if true then it don't try to reinitialize card.
host->detect can be scheduled at this moment only in one case: if device has been waked up by
card change interrupt.
--
Yauhen Kharuzhy jekhor _at_ gmail.com
JID: jek@...ber.ru
A: No
Q: Should I quote below my post?
--
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