<feed xmlns='http://www.w3.org/2005/Atom'>
<title>litmus-rt.git/drivers/mmc, branch v2.6.33-rc5</title>
<subtitle>The LITMUS^RT kernel.</subtitle>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/'/>
<entry>
<title>mfd: tmio_mmc hardware abstraction for CNF area</title>
<updated>2010-01-18T11:30:27+00:00</updated>
<author>
<name>Ian Molton</name>
<email>ian@mnementh.co.uk</email>
</author>
<published>2010-01-06T12:51:48+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=64e8867ba8098b69889c1af94997a5ba2348fb26'/>
<id>64e8867ba8098b69889c1af94997a5ba2348fb26</id>
<content type='text'>
This patch abstracts out the CNF area code from tmio_mmc which
is not present in all hardware that can use this driver. This
is required so that we can support non-toshiba based hardware.

ASIC3 support by Philipp Zabel

Signed-off-by: Ian Molton &lt;ian@mnementh.co.uk&gt;
Signed-off-by: Magnus Damm &lt;damm@opensource.se&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch abstracts out the CNF area code from tmio_mmc which
is not present in all hardware that can use this driver. This
is required so that we can support non-toshiba based hardware.

ASIC3 support by Philipp Zabel

Signed-off-by: Ian Molton &lt;ian@mnementh.co.uk&gt;
Signed-off-by: Magnus Damm &lt;damm@opensource.se&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: allow for MMC v4.4</title>
<updated>2010-01-11T17:34:06+00:00</updated>
<author>
<name>Adrian Hunter</name>
<email>adrian.hunter@nokia.com</email>
</author>
<published>2010-01-08T22:43:01+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=11723ab15d28e71dd118a8a92f98493f5a5907da'/>
<id>11723ab15d28e71dd118a8a92f98493f5a5907da</id>
<content type='text'>
JEDEC eMMC specification version 4.4 (MMCA 4.4) defines Extended CSD
structure versions up to 5.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@nokia.com&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
JEDEC eMMC specification version 4.4 (MMCA 4.4) defines Extended CSD
structure versions up to 5.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@nokia.com&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc_block: fix queue cleanup</title>
<updated>2010-01-11T17:34:06+00:00</updated>
<author>
<name>Adrian Hunter</name>
<email>adrian.hunter@nokia.com</email>
</author>
<published>2010-01-08T22:43:00+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=5fa83ce284a4b7cd9dcfadd01500b0ed4ab9b740'/>
<id>5fa83ce284a4b7cd9dcfadd01500b0ed4ab9b740</id>
<content type='text'>
The main bug was that 'blk_cleanup_queue()' was called while the block
device could still be in use, for example, because the card was removed
while files were still open.

In addition, to be sure that 'mmc_request()' will get called for all new
requests (so it can error them out), the queue is emptied during cleanup.
This is done after the worker thread is stopped to avoid racing with it.

Finally, it is not a device error for this to be happening, so quiet the
(sometimes very many) error messages.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@nokia.com&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The main bug was that 'blk_cleanup_queue()' was called while the block
device could still be in use, for example, because the card was removed
while files were still open.

In addition, to be sure that 'mmc_request()' will get called for all new
requests (so it can error them out), the queue is emptied during cleanup.
This is done after the worker thread is stopped to avoid racing with it.

Finally, it is not a device error for this to be happening, so quiet the
(sometimes very many) error messages.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@nokia.com&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc_block: fix probe error cleanup bug</title>
<updated>2010-01-11T17:34:06+00:00</updated>
<author>
<name>Jarkko Lavinen</name>
<email>jarkko.lavinen@nokia.com</email>
</author>
<published>2010-01-08T22:42:59+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=0a74ff29b8dd8b748f8856352f9a9b5c6cc362cc'/>
<id>0a74ff29b8dd8b748f8856352f9a9b5c6cc362cc</id>
<content type='text'>
If mmc_blk_set_blksize() fails mmc_blk_probe() the request queue and its
thread have been set up and they need to be shut down properly before
putting the disk.

Signed-off-by: Jarkko Lavinen &lt;jarkko.lavinen@nokia.com&gt;
Signed-off-by: Adrian Hunter &lt;adrian.hunter@nokia.com&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If mmc_blk_set_blksize() fails mmc_blk_probe() the request queue and its
thread have been set up and they need to be shut down properly before
putting the disk.

Signed-off-by: Jarkko Lavinen &lt;jarkko.lavinen@nokia.com&gt;
Signed-off-by: Adrian Hunter &lt;adrian.hunter@nokia.com&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc_block: add dev_t initialization check</title>
<updated>2010-01-11T17:34:06+00:00</updated>
<author>
<name>Anna Lemehova</name>
<email>EXT-Anna.Lemehova@nokia.com</email>
</author>
<published>2010-01-08T22:42:58+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=7d92df692994472cab6045bbd9d0e2c4afa4365f'/>
<id>7d92df692994472cab6045bbd9d0e2c4afa4365f</id>
<content type='text'>
When a card is removed before mmc_blk_probe() has called add_disk(), then
the minor field is uninitialized and has value 0.  This caused
mmc_blk_put() to always release devidx 0 even if 0 was still in use.  Then
the next mmc_blk_probe() used the first free idx of 0, which oopses in
sysfs, since it is used by another card.

Signed-off-by: Anna Lemehova &lt;EXT-Anna.Lemehova@nokia.com&gt;
Signed-off-by: Adrian Hunter &lt;adrian.hunter@nokia.com&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a card is removed before mmc_blk_probe() has called add_disk(), then
the minor field is uninitialized and has value 0.  This caused
mmc_blk_put() to always release devidx 0 even if 0 was still in use.  Then
the next mmc_blk_probe() used the first free idx of 0, which oopses in
sysfs, since it is used by another card.

Signed-off-by: Anna Lemehova &lt;EXT-Anna.Lemehova@nokia.com&gt;
Signed-off-by: Adrian Hunter &lt;adrian.hunter@nokia.com&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sdhci-of: add support for the wii sdhci controller</title>
<updated>2009-12-17T23:45:32+00:00</updated>
<author>
<name>Albert Herranz</name>
<email>albert_herranz@yahoo.es</email>
</author>
<published>2009-12-17T23:27:20+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=1144ab5d4b2da9f964d126105c6b3ced939eb073'/>
<id>1144ab5d4b2da9f964d126105c6b3ced939eb073</id>
<content type='text'>
Add support for the Secure Digital Host Controller Interface found on the
"Hollywood" chipset of the Nintendo Wii video game console.

Signed-off-by: Albert Herranz &lt;albert_herranz@yahoo.es&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add support for the Secure Digital Host Controller Interface found on the
"Hollywood" chipset of the Nintendo Wii video game console.

Signed-off-by: Albert Herranz &lt;albert_herranz@yahoo.es&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sdhci-of: reorganize driver to support additional hardware</title>
<updated>2009-12-17T23:45:31+00:00</updated>
<author>
<name>Albert Herranz</name>
<email>albert_herranz@yahoo.es</email>
</author>
<published>2009-12-17T23:27:20+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=7657c3a7d4bd42b832af5d6bb0e0e9bdba82d44d'/>
<id>7657c3a7d4bd42b832af5d6bb0e0e9bdba82d44d</id>
<content type='text'>
This patch breaks down sdhci-of into a core portion and a eSDHC portion,
clearing the path to easily support additional hardware using the same OF
driver.

Signed-off-by: Albert Herranz &lt;albert_herranz@yahoo.es&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch breaks down sdhci-of into a core portion and a eSDHC portion,
clearing the path to easily support additional hardware using the same OF
driver.

Signed-off-by: Albert Herranz &lt;albert_herranz@yahoo.es&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sdhci-of: rename main driver file prior to reorganization</title>
<updated>2009-12-17T23:45:31+00:00</updated>
<author>
<name>Albert Herranz</name>
<email>albert_herranz@yahoo.es</email>
</author>
<published>2009-12-17T23:27:19+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=bc1ad567b16031a82b90e4ef86c1e7541957781f'/>
<id>bc1ad567b16031a82b90e4ef86c1e7541957781f</id>
<content type='text'>
This patch renames sdhci-of.c to sdhci-of-core.c before reorganizing the
driver to support additional hardware.

The driver is still built as sdhci-of despite the rename of the file.  No
functional change.

Signed-off-by: Albert Herranz &lt;albert_herranz@yahoo.es&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch renames sdhci-of.c to sdhci-of-core.c before reorganizing the
driver to support additional hardware.

The driver is still built as sdhci-of despite the rename of the file.  No
functional change.

Signed-off-by: Albert Herranz &lt;albert_herranz@yahoo.es&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sdhci: protect header file against multi inclusion</title>
<updated>2009-12-17T23:45:31+00:00</updated>
<author>
<name>Albert Herranz</name>
<email>albert_herranz@yahoo.es</email>
</author>
<published>2009-12-17T23:27:19+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=c0bba0d25ee13f4be4598730057a25758014d7f1'/>
<id>c0bba0d25ee13f4be4598730057a25758014d7f1</id>
<content type='text'>
Signed-off-by: Albert Herranz &lt;albert_herranz@yahoo.es&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Albert Herranz &lt;albert_herranz@yahoo.es&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sdio: initialise SDIO functions and update card-&gt;sdio_funcs in lockstep</title>
<updated>2009-12-17T23:45:31+00:00</updated>
<author>
<name>Matt Fleming</name>
<email>matt@console-pimps.org</email>
</author>
<published>2009-12-17T23:27:18+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/litmus-rt.git/commit/?id=e8812793637b4f23f01eb46db86b5dad1fc97f2a'/>
<id>e8812793637b4f23f01eb46db86b5dad1fc97f2a</id>
<content type='text'>
Daniel Drake noticed a crash in the error path of mmc_attach_sdio().  This
bug is discussed at http://dev.laptop.org/ticket/9707.

BUG: unable to handle kernel paging request at 6b6b6c57
IP: [&lt;b066d6e2&gt;] sdio_remove_func+0x9/0x27
Call Trace:
[&lt;b066cfb4&gt;] ? mmc_sdio_remove+0x34/0x65
[&lt;b066d1fc&gt;] ? mmc_attach_sdio+0x217/0x240
[&lt;b066a22f&gt;] ? mmc_rescan+0x1a2/0x20f
[&lt;b042e9a0&gt;] ? worker_thread+0x156/0x1e

We need to accurately track how many SDIO functions have been initialised
(and keep card-&gt;sdio_funcs in sync) so that we don't try to remove more
functions than we initialised if we hit the error path in
mmc_attach_sdio().

Without this patch if we hit the error path in mmc_attach_sdio() we run
the risk of deferencing invalid memory in sdio_remove_func(), leading to a
crash.

Signed-off-by: Matt Fleming &lt;matt@console-pimps.org&gt;
Cc: Daniel Drake &lt;dsd@laptop.org&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Daniel Drake noticed a crash in the error path of mmc_attach_sdio().  This
bug is discussed at http://dev.laptop.org/ticket/9707.

BUG: unable to handle kernel paging request at 6b6b6c57
IP: [&lt;b066d6e2&gt;] sdio_remove_func+0x9/0x27
Call Trace:
[&lt;b066cfb4&gt;] ? mmc_sdio_remove+0x34/0x65
[&lt;b066d1fc&gt;] ? mmc_attach_sdio+0x217/0x240
[&lt;b066a22f&gt;] ? mmc_rescan+0x1a2/0x20f
[&lt;b042e9a0&gt;] ? worker_thread+0x156/0x1e

We need to accurately track how many SDIO functions have been initialised
(and keep card-&gt;sdio_funcs in sync) so that we don't try to remove more
functions than we initialised if we hit the error path in
mmc_attach_sdio().

Without this patch if we hit the error path in mmc_attach_sdio() we run
the risk of deferencing invalid memory in sdio_remove_func(), leading to a
crash.

Signed-off-by: Matt Fleming &lt;matt@console-pimps.org&gt;
Cc: Daniel Drake &lt;dsd@laptop.org&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
