Messages in this thread |  | | | Date | Thu, 17 Jul 2008 16:50:37 +0100 | | From | Ben Dooks <> | | Subject | Re: MMC: s3cmci: ensure host stopped on machine shutdown |
| |
On Thu, Jul 17, 2008 at 05:29:45PM +0200, Pierre Ossman wrote: > On Thu, 17 Jul 2008 15:32:54 +0100 > Ben Dooks <ben-linux@fluff.org> wrote: > > > Ensure that the s3cmci host controller is turned off > > when the machine is shutdown, otherwise we end up > > leaving the card powered and processing insertion and > > removal events after the system prints "System halted." > > > > Signed-off-by: Ben Dooks <ben-linux@fluff.org> > > > > Index: linux-2.6.26-quilt3/drivers/mmc/host/s3cmci.c > > =================================================================== > > --- linux-2.6.26-quilt3.orig/drivers/mmc/host/s3cmci.c 2008-07-17 15:15:35.000000000 +0100 > > +++ linux-2.6.26-quilt3/drivers/mmc/host/s3cmci.c 2008-07-17 15:29:23.000000000 +0100 > > @@ -1331,21 +1331,30 @@ static int __devinit s3cmci_probe(struct > > return ret; > > } > > > > +static void s3cmci_shutdown(struct platform_device *pdev) > > +{ > > + struct mmc_host *mmc = platform_get_drvdata(pdev); > > + struct s3cmci_host *host = mmc_priv(mmc); > > + > > + if (host->irq_cd >= 0) > > + free_irq(host->irq_cd, host); > > + > > + mmc_remove_host(mmc); > > + clk_disable(host->clk); > > +} > > + > > The core can send requests your way until mmc_remove_host() returns so > you can't remove the interrupt before then.
I'm only removing the card-detect interrupt, the main host one is not being disabled here.
-- Ben (ben@fluff.org, http://www.fluff.org/)
'a smiley only costs 4 bytes'
|  |