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 03:53:43 -0800 (PST) [thread overview]
Message-ID: <20070212115343.41523.qmail@web36712.mail.mud.yahoo.com> (raw)
In-Reply-To: <45CF5D37.1000900@drzeus.cx>
--- Pierre Ossman <drzeus-mmc@drzeus.cx> wrote:
> Alex Dubov wrote:
> >
> > It just occurred to me that my synopsis of the problem was utterly lame.
> > Here, the correct description:
> > When the card is pulled out, I mark the host as "ejected" (so it fast-fails all the requests),
> > sleep a little for it to relax and then call mmc_remove_host. Otherwise, nasty things happen.
> > Here's the example not involving mmc_block at all (command 3 failed, hardware timeout was
> missed,
> > so software timeout picked it up; the sleep hack is disabled):
> >
>
> I believe your problem is line 915 of tifm_sd.c:
>
> > tifm_set_drvdata(sock, NULL);
>
> You call that before mmc_free_host() (which flushes the work queue), and I
> assume something still needs it. Put in some BUG_ON() here and there and you
> should be able to catch it.
>
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.
Feb 12 22:06:55 mortug tifm_sd tifm_sd0:3: host_status 400, fifo_status 0
Feb 12 22:06:56 mortug tifm_sd: card failed to respond for a long period of time
Feb 12 22:06:56 mortug tifm_7xx1 0000:06:09.3: checking media set 8
Feb 12 22:06:56 mortug tifm_7xx1: demand removing card from socket 0:3
Feb 12 22:06:56 mortug tifm_sd tifm_sd0:3: Setting bus width 0, power 0
Feb 12 22:06:56 mortug tifm_sd tifm_sd0:3: after remove
Feb 12 22:06:56 mortug mmcblk1: error 1 sending read/write command
Feb 12 22:06:56 mortug end_request: I/O error, dev mmcblk1, sector 0
Feb 12 22:06:56 mortug printk: 137 messages suppressed.
Feb 12 22:06:56 mortug Buffer I/O error on device mmcblk1, logical block 0
Feb 12 22:06:56 mortug divide error: 0000 [1] SMP
Feb 12 22:06:56 mortug CPU 0
Feb 12 22:06:56 mortug Modules linked in: ...
____________________________________________________________________________________
Expecting? Get great news right away with email Auto-Check.
Try the Yahoo! Mail Beta.
http://advision.webevents.yahoo.com/mailbeta/newmail_tools.html
next prev parent reply other threads:[~2007-02-12 11:53 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 [this message]
2007-02-12 13:49 ` Pierre Ossman
2007-02-13 0:44 ` Alex Dubov
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=20070212115343.41523.qmail@web36712.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
Powered by JetHome