<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/mtd, branch v3.2.7</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/mtd?h=v3.2.7</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/mtd?h=v3.2.7'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-02-13T19:16:54Z</updated>
<entry>
<title>Revert "mtd: atmel_nand: optimize read/write buffer functions"</title>
<updated>2012-02-13T19:16:54Z</updated>
<author>
<name>Artem Bityutskiy</name>
<email>artem.bityutskiy@linux.intel.com</email>
</author>
<published>2012-02-02T11:54:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=061d6b14b3b59f140371baa0f98963f761a7080f'/>
<id>urn:sha1:061d6b14b3b59f140371baa0f98963f761a7080f</id>
<content type='text'>
commit 500823195d0c9eec2a4637484f30cc93ec633d4a upstream.

This reverts commit fb5427508abbd635e877fabdf55795488119c2d6.

The reason is that it breaks 16 bits NAND flash as it was reported by
Nikolaus Voss and confirmed by Eric Bénard.

Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt; alco confirmed:
"After double checking with designers, I must admit that I misunderstood
the way of optimizing accesses to SMC. 16 bit nand is not so common
those days..."

Reported-by: Nikolaus Voss &lt;n.voss@weinmann.de&gt;
Acked-by: Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt;
Signed-off-by: Artem Bityutskiy &lt;artem.bityutskiy@linux.intel.com&gt;
Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>mtd: gpmi-nand bugfix: reset the BCH module when it is not MX23</title>
<updated>2012-02-13T19:16:54Z</updated>
<author>
<name>Huang Shijie</name>
<email>b32955@freescale.com</email>
</author>
<published>2012-01-04T03:18:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5e71844e1d3a9ae8681fc18781a3579eed4b2406'/>
<id>urn:sha1:5e71844e1d3a9ae8681fc18781a3579eed4b2406</id>
<content type='text'>
commit 9398d1ce09b9009996f7d2468e1d3c785fa6feda upstream.

In MX28, if we do not reset the BCH module. The BCH module may
becomes unstable when the board reboots for several thousands times.
This bug has been catched in customer's production.

The patch adds some comments (some from Wolfram Sang), and fixes it now.

Also change gpmi_reset_block() to static.

Signed-off-by: Huang Shijie &lt;b32955@freescale.com&gt;
Acked-by: Marek Vasut &lt;marek.vasut@gmail.com&gt;
Signed-off-by: Artem Bityutskiy &lt;artem.bityutskiy@linux.intel.com&gt;
Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>UBI: make vid_hdr non-static</title>
<updated>2012-01-26T00:13:25Z</updated>
<author>
<name>Richard Weinberger</name>
<email>rw@linutronix.de</email>
</author>
<published>2011-12-22T15:12:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f15be6f6ce84f1e776abfe51bf52f3aaf4d4e5e9'/>
<id>urn:sha1:f15be6f6ce84f1e776abfe51bf52f3aaf4d4e5e9</id>
<content type='text'>
commit 6bdccffe8c4268d02f71873102131fb6ed37ed9a upstream.

Remove 'static' modifier from the 'vid_hdr' local variable. I do not know
how it slipped in, but this is a bug and will break UBI if someone attaches
2 UBI volumes at the same time.

Artem: amended teh commit message, added -stable.

Signed-off-by: Richard Weinberger &lt;rw@linutronix.de&gt;
Signed-off-by: Artem Bityutskiy &lt;artem.bityutskiy@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>UBI: fix debugging messages</title>
<updated>2012-01-26T00:13:25Z</updated>
<author>
<name>Artem Bityutskiy</name>
<email>artem.bityutskiy@linux.intel.com</email>
</author>
<published>2012-01-10T17:32:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a6027dbd01c08236f2182ddb6c22aa5712fed7c6'/>
<id>urn:sha1:a6027dbd01c08236f2182ddb6c22aa5712fed7c6</id>
<content type='text'>
commit 72f0d453d81d35087b1d3ad7c8285628c2be6e1d upstream.

Patch ab50ff684707031ed4bad2fdd313208ae392e5bb broke UBI debugging messages:
before that commit when UBI debugging was enabled, users saw few useful
debugging messages after attaching an MTD device. However, that patch turned
'dbg_msg()' into 'pr_debug()', so to enable the debugging messages users have
to enable them first via /sys/kernel/debug/dynamic_debug/control, which is
very impractical.

This commit makes 'dbg_msg()' to use 'printk()' instead of 'pr_debug()', just
as it was before the breakage.

Signed-off-by: Artem Bityutskiy &lt;artem.bityutskiy@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>UBI: fix nameless volumes handling</title>
<updated>2012-01-26T00:13:24Z</updated>
<author>
<name>Richard Weinberger</name>
<email>richard@nod.at</email>
</author>
<published>2012-01-13T14:07:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9a9cc2b976936fbe82f40f4b0c5a1606b3bc187d'/>
<id>urn:sha1:9a9cc2b976936fbe82f40f4b0c5a1606b3bc187d</id>
<content type='text'>
commit 4a59c797a18917a5cf3ff7ade296b46134d91e6a upstream.

Currently it's possible to create a volume without a name. E.g:
ubimkvol -n 32 -s 2MiB -t static /dev/ubi0 -N ""

After that vtbl_check() will always fail because it does not permit
empty strings.

Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
Signed-off-by: Artem Bityutskiy &lt;Artem.Bityutskiy@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>UBI: fix use-after-free on error path</title>
<updated>2012-01-26T00:13:17Z</updated>
<author>
<name>Artem Bityutskiy</name>
<email>artem.bityutskiy@linux.intel.com</email>
</author>
<published>2012-01-05T08:47:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=50bc9144d4c0e15a6fcdc1b7a5accb7e2cd4aa11'/>
<id>urn:sha1:50bc9144d4c0e15a6fcdc1b7a5accb7e2cd4aa11</id>
<content type='text'>
commit e57e0d8e818512047fe379157c3f77f1b9fabffb upstream.

When we fail to erase a PEB, we free the corresponding erase entry object,
but then re-schedule this object if the error code was something like -EAGAIN.
Obviously, it is a bug to use the object after we have freed it.

Reported-by: Emese Revfy &lt;re.emese@gmail.com&gt;
Signed-off-by: Artem Bityutskiy &lt;artem.bityutskiy@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>UBI: fix missing scrub when there is a bit-flip</title>
<updated>2012-01-26T00:13:17Z</updated>
<author>
<name>Bhavesh Parekh</name>
<email>bparekh@nvidia.com</email>
</author>
<published>2011-11-30T12:13:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=73461014f2de68f1dbca13897af0feb77872b8f5'/>
<id>urn:sha1:73461014f2de68f1dbca13897af0feb77872b8f5</id>
<content type='text'>
commit e801e128b2200c40a0ec236cf2330b2586b6e05a upstream.

Under some cases, when scrubbing the PEB if we did not get the lock on
the PEB it fails to scrub. Add that PEB again to the scrub list

Artem: minor amendments.

Signed-off-by: Bhavesh Parekh &lt;bparekh@nvidia.com&gt;
Signed-off-by: Artem Bityutskiy &lt;artem.bityutskiy@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>mtd: tests: stresstest: bail out if device has not enough eraseblocks</title>
<updated>2012-01-26T00:13:06Z</updated>
<author>
<name>Wolfram Sang</name>
<email>w.sang@pengutronix.de</email>
</author>
<published>2011-11-29T14:34:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0fbc846f71dd621275acbca25a7996a8dae37fca'/>
<id>urn:sha1:0fbc846f71dd621275acbca25a7996a8dae37fca</id>
<content type='text'>
commit 2f4478ccff7df845dc9c0f8996a96373122c4417 upstream.

stresstest needs at least two eraseblocks. Bail out gracefully if that
condition is not met. Fixes the following 'division by zero' OOPS:

[  619.100000] mtd_stresstest: MTD device size 131072, eraseblock size 131072, page size 2048, count of eraseblocks 1, pages per eraseblock 64, OOB size 64
[  619.120000] mtd_stresstest: scanning for bad eraseblocks
[  619.120000] mtd_stresstest: scanned 1 eraseblocks, 0 are bad
[  619.130000] mtd_stresstest: doing operations
[  619.130000] mtd_stresstest: 0 operations done
[  619.140000] Division by zero in kernel.
...

caused by

        /* Read or write up 2 eraseblocks at a time - hence 'ebcnt - 1' */
        eb %= (ebcnt - 1);

Signed-off-by: Wolfram Sang &lt;w.sang@pengutronix.de&gt;
Signed-off-by: Artem Bityutskiy &lt;artem.bityutskiy@linux.intel.com&gt;
Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>mtd: mtd_blkdevs: don't increase 'open' count on error path</title>
<updated>2012-01-26T00:13:05Z</updated>
<author>
<name>Brian Norris</name>
<email>computersforpeace@gmail.com</email>
</author>
<published>2011-11-07T23:51:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4eb4226e5e0ae2607b0020299a4452760c4f24db'/>
<id>urn:sha1:4eb4226e5e0ae2607b0020299a4452760c4f24db</id>
<content type='text'>
commit 342ff28f5a2e5aa3236617bd2bddf6c749677ef2 upstream.

Some error paths in mtd_blkdevs were fixed in the following commit:

    commit 94735ec4044a6d318b83ad3c5794e931ed168d10
    mtd: mtd_blkdevs: fix error path in blktrans_open

But on these error paths, the block device's `dev-&gt;open' count is
already incremented before we check for errors. This meant that, while
the error path was handled correctly on the first time through
blktrans_open(), the device is erroneously considered already open on
the second time through.

This problem can be seen, for instance, when a UBI volume is
simultaneously mounted as a UBIFS partition and read through its
corresponding gluebi mtdblockX device. This results in blktrans_open()
passing its error checks (with `dev-&gt;open &gt; 0') without actually having
a handle on the device. Here's a summarized log of the actions and
results with nandsim:

    # modprobe nandsim
    # modprobe mtdblock
    # modprobe gluebi
    # modprobe ubifs
    # ubiattach /dev/ubi_ctrl -m 0
    ...
    # ubimkvol /dev/ubi0 -N test -s 16MiB
    ...
    # mount -t ubifs ubi0:test /mnt
    # ls /dev/mtdblock*
    /dev/mtdblock0  /dev/mtdblock1
    # cat /dev/mtdblock1 &gt; /dev/null
    cat: can't open '/dev/mtdblock4': Device or resource busy
    # cat /dev/mtdblock1 &gt; /dev/null

    CPU 0 Unable to handle kernel paging request at virtual address
    fffffff0, epc == 8031536c, ra == 8031f280
    Oops[#1]:
    ...
    Call Trace:
    [&lt;8031536c&gt;] ubi_leb_read+0x14/0x164
    [&lt;8031f280&gt;] gluebi_read+0xf0/0x148
    [&lt;802edba8&gt;] mtdblock_readsect+0x64/0x198
    [&lt;802ecfe4&gt;] mtd_blktrans_thread+0x330/0x3f4
    [&lt;8005be98&gt;] kthread+0x88/0x90
    [&lt;8000bc04&gt;] kernel_thread_helper+0x10/0x18

Signed-off-by: Brian Norris &lt;computersforpeace@gmail.com&gt;
Signed-off-by: Artem Bityutskiy &lt;Artem.Bityutskiy@linux.intel.com&gt;
Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>mtd: mtdoops: skip reading initially bad blocks</title>
<updated>2012-01-26T00:13:05Z</updated>
<author>
<name>Roman Tereshonkov</name>
<email>roman.tereshonkov@nokia.com</email>
</author>
<published>2011-12-02T13:07:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fc3bd1ff1d248c3ab9a2c57c285b86bd17dd2176'/>
<id>urn:sha1:fc3bd1ff1d248c3ab9a2c57c285b86bd17dd2176</id>
<content type='text'>
commit 3538c56329936c78f7d356889908790006d0124c upstream.

Use block_isbad to check and skip the bad blocks reading.
This will allow to get rid of the read errors if bad blocks
are present initially.

Signed-off-by: Roman Tereshonkov &lt;roman.tereshonkov@nokia.com&gt;
Signed-off-by: Artem Bityutskiy &lt;artem.bityutskiy@linux.intel.com&gt;
Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
</feed>
