From: Alex Dubov <oakad@yahoo.com>
To: Pierre Ossman <drzeus-mmc@drzeus.cx>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Recent and not-so problems with tifm_sd driver
Date: Mon, 12 Feb 2007 16:44:31 -0800 (PST) [thread overview]
Message-ID: <20070213004431.64499.qmail@web36714.mail.mud.yahoo.com> (raw)
In-Reply-To: <45D07075.7090302@drzeus.cx>
--- Pierre Ossman <drzeus-mmc@drzeus.cx> wrote:
> Alex Dubov wrote:
> > I removed that line altogether (it does not really needed as mmc host will not be accessed
> > anymore). The problem is more elaborate. Here, the card fails, mmc_host_remove is called
> without
> > sleep beforehand, and "after remove" message is printed immediately after it. Only then,
> mmc_block
> > remembers to finish its business. If I leave the sleep in place, mmc_block's stuff will get
> > scheduled before the mmc_remove_host and everything will be all right.
> > You may also notice that host is already powered off ("Setting ... power 0" message) and still
> > mmc_block continues to make requests like nothing happened.
> >
>
> How did you do the "after remove" detection? Patch?
>
(Power message is printed by ios callback)
Here's my current (SVN) remove function:
static void tifm_sd_remove(struct tifm_dev *sock)
{
struct mmc_host *mmc = tifm_get_drvdata(sock);
struct tifm_sd *host = mmc_priv(mmc);
unsigned long flags;
tasklet_kill(&host->finish_tasklet);
spin_lock_irqsave(&sock->lock, flags);
host->flags |= EJECT;
writel(0, sock->addr + SOCK_MMCSD_INT_ENABLE);
mmiowb();
if (host->req) {
writel(TIFM_FIFO_INT_SETALL,
sock->addr + SOCK_DMA_FIFO_INT_ENABLE_CLEAR);
writel(0, sock->addr + SOCK_DMA_FIFO_INT_ENABLE_SET);
host->req->cmd->error = MMC_ERR_TIMEOUT;
if (host->req->stop)
host->req->stop->error = MMC_ERR_TIMEOUT;
tasklet_schedule(&host->finish_tasklet);
}
spin_unlock_irqrestore(&sock->lock, flags);
// temporary hack
msleep(1000);
mmc_remove_host(mmc);
dev_dbg(&sock->dev, "after remove\n");
/* The meaning of the bit majority in this constant is unknown. */
writel(0xfff8 & readl(sock->addr + SOCK_CONTROL),
sock->addr + SOCK_CONTROL);
mmc_free_host(mmc);
}
____________________________________________________________________________________
Finding fabulous fares is fun.
Let Yahoo! FareChase search your favorite travel sites to find flight and hotel bargains.
http://farechase.yahoo.com/promo-generic-14795097
next prev parent reply other threads:[~2007-02-13 0:44 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-02-07 22:20 [2.6.20] tifm_7xx1/mmc not working Andreas Steinmetz
2007-02-08 5:59 ` Pierre Ossman
2007-02-08 23:35 ` Alex Dubov
2007-02-09 12:27 ` Andreas Steinmetz
2007-02-09 15:14 ` Recent and not-so problems with tifm_sd driver Alex Dubov
2007-02-09 19:10 ` Pierre Ossman
2007-02-10 9:12 ` Recent and not-so problems with tifm_sd driver - one more Alex Dubov
2007-02-10 13:01 ` Pierre Ossman
2007-02-11 6:03 ` Brad Campbell
2007-02-11 14:52 ` Fabio Comolli
2007-02-11 15:40 ` Pierre Ossman
2007-02-11 15:56 ` Brad Campbell
2007-02-11 18:04 ` Pierre Ossman
2007-02-11 19:32 ` Brad Campbell
2007-02-12 9:14 ` Pierre Ossman
2007-02-12 10:50 ` Brad Campbell
2007-02-12 13:21 ` Andreas Steinmetz
2007-02-17 15:16 ` [mmc] incorrect behavior on resume Alex Dubov
2007-02-17 23:35 ` Pierre Ossman
2007-02-18 0:29 ` Pavel Machek
2007-02-18 1:46 ` Alex Dubov
2007-02-18 6:53 ` Russell King
2007-02-18 12:18 ` Alex Dubov
2007-02-11 4:47 ` Recent and not-so problems with tifm_sd driver Alex Dubov
2007-02-11 18:15 ` Pierre Ossman
2007-02-12 11:53 ` Alex Dubov
2007-02-12 13:49 ` Pierre Ossman
2007-02-13 0:44 ` Alex Dubov [this message]
2007-02-13 14:40 ` Alex Dubov
2007-02-17 23:14 ` Pierre Ossman
2007-02-17 23:51 ` Pierre Ossman
2007-02-18 4:59 ` Alex Dubov
2007-02-18 8:13 ` Pierre Ossman
2007-02-18 14:19 ` Alex Dubov
2007-02-18 15:10 ` Pierre Ossman
2007-02-18 23:48 ` Alex Dubov
2007-02-19 7:06 ` Pierre Ossman
2007-02-19 12:09 ` Alex Dubov
2007-02-19 12:34 ` Pierre Ossman
2007-02-20 1:30 ` Alex Dubov
2007-02-20 7:03 ` Pierre Ossman
2007-03-14 14:44 ` Weird MMC errors: 1 of 2 - bad ocr value Alex Dubov
2007-04-08 19:41 ` Pierre Ossman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070213004431.64499.qmail@web36714.mail.mud.yahoo.com \
--to=oakad@yahoo.com \
--cc=drzeus-mmc@drzeus.cx \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®