<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/mtd, branch v3.4.4</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/mtd?h=v3.4.4</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/mtd?h=v3.4.4'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-06-09T15:36:13Z</updated>
<entry>
<title>mtd: mxc_nand: move ecc strengh setup before nand_scan_tail</title>
<updated>2012-06-09T15:36:13Z</updated>
<author>
<name>Sascha Hauer</name>
<email>s.hauer@pengutronix.de</email>
</author>
<published>2012-05-25T14:22:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1e98ce80a4493f32b44f227d6050318462ca9d5d'/>
<id>urn:sha1:1e98ce80a4493f32b44f227d6050318462ca9d5d</id>
<content type='text'>
commit 4a43faf54e9173b6acce37cf7f053fc9515a2cdf upstream.

Since commit 6a918bade9dab40aaef80559bd1169c69e8d69cb, the mxc_nand driver
fails with:

Driver must set ecc.strength when using hardware ECC

This is because nand_scan_tail checks for correct ecc strength
settings, so we must set them up before nand_scan_tail.

Signed-off-by: Sascha Hauer &lt;s.hauer@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@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>mtd: block2mtd: fix recursive call of mtd_writev</title>
<updated>2012-06-09T15:36:13Z</updated>
<author>
<name>Gabor Juhos</name>
<email>juhosg@openwrt.org</email>
</author>
<published>2012-05-23T22:17:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=29924c0318327d0444e0317587faf4a0693527a8'/>
<id>urn:sha1:29924c0318327d0444e0317587faf4a0693527a8</id>
<content type='text'>
commit 2e24e32e2759348c9290404abad4f729f791bfad upstream.

The 'mtd_writev' interface calls the function assigned
to the '_write' field of a given mtd device if that is
not NULL. The block2mtd driver sets the '_writev' field
to the 'mtd_writev' function itself and thus causes a
endless loop.

This is caused by 1dbebd32562b3c2caeca35960e5cb00bfcc12900
(mtd: harmonize mtd_writev usage).

Remove the assignment from the block2mtd driver to fix the
issue.

Signed-off-by: Gabor Juhos &lt;juhosg@openwrt.org&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: of_parts: fix breakage in Kconfig</title>
<updated>2012-06-09T15:36:13Z</updated>
<author>
<name>Frank Svendsboe</name>
<email>frank.svendsboe@gmail.com</email>
</author>
<published>2012-05-17T20:43:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bdcefb1987edb1c62828d6c79f93e4b7af8734e2'/>
<id>urn:sha1:bdcefb1987edb1c62828d6c79f93e4b7af8734e2</id>
<content type='text'>
commit 2e929d001e85126d9267de373d4b76014789661d upstream.

MTD_OF_PARTS and the default setting is not working due to using 'Y'
instead of 'y', introduced in commit
d6137badeff1ef64b4e0092ec249ebdeaeb3ff37. This made our board, and
possibly other boards using DTS defined partitions and not having
CONFIG_MTD_OF_PARTS=y defined in the defconfig, fail to mount root.

Signed-off-by: Frank Svendsboe &lt;frank.svendsboe@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>mtd: nand: fix scan_read_raw_oob</title>
<updated>2012-06-09T15:36:12Z</updated>
<author>
<name>Dmitry Maluka</name>
<email>D.Maluka@adbglobal.com</email>
</author>
<published>2012-05-11T17:51:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a5b57cd820528f863d519ac5a0f6a94e5e8b3a0e'/>
<id>urn:sha1:a5b57cd820528f863d519ac5a0f6a94e5e8b3a0e</id>
<content type='text'>
commit 34a5704d91d6f8376a4c0a0143a1dd3eb3ccb37e upstream.

It seems there is a bug in scan_read_raw_oob() in nand_bbt.c which
should cause wrong functioning of NAND_BBT_SCANALLPAGES option.

Artem: the patch did not apply and I had to amend it a bit.

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

</content>
</entry>
<entry>
<title>Merge tag 'for-linus-3.4-20120513' of git://git.infradead.org/linux-mtd</title>
<updated>2012-05-13T18:33:09Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-05-13T18:33:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9ff00d58a915b6747ba2e843ab2d04c712b4dc32'/>
<id>urn:sha1:9ff00d58a915b6747ba2e843ab2d04c712b4dc32</id>
<content type='text'>
Pull three MTD fixes from David Woodhouse:
 - Fix a lock ordering deadlock in JFFS2
 - Fix an oops in the dataflash driver, triggered by a dummy call to test
   whether it has OTP functionality.
 - Fix request_mem_region() failure on amsdelta NAND driver.

* tag 'for-linus-3.4-20120513' of git://git.infradead.org/linux-mtd:
  mtd: ams-delta: fix request_mem_region() failure
  jffs2: Fix lock acquisition order bug in gc path
  mtd: fix oops in dataflash driver
</content>
</entry>
<entry>
<title>mtd: ams-delta: fix request_mem_region() failure</title>
<updated>2012-05-08T21:24:33Z</updated>
<author>
<name>Janusz Krzysztofik</name>
<email>jkrzyszt@tis.icnet.pl</email>
</author>
<published>2012-05-07T20:51:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b027274d2e3a332683b73f15e5cea79c240bc9a3'/>
<id>urn:sha1:b027274d2e3a332683b73f15e5cea79c240bc9a3</id>
<content type='text'>
A call to request_mem_region() has been introduced in the omap-gpio
driver recently (commit 96751fcbe5438e95514b025e9cee7a6d38038f40,
"gpio/omap: Use devm_ API and add request_mem_region"). This change
prevented the Amstrad Delta NAND driver, which was doing the same in
order to take control over OMAP MPU I/O lines that the NAND device hangs
off, from loading successfully.

The I/O lines and corresponding registers used by the NAND driver are a
subset of those used for the GPIO function. Then, to avoid run time
collisions, all MPUIO GPIO lines should be marked as requested while
initializing the NAND driver, and vice versa, a single MPUIO GPIO line
already requested before the NAND driver initialization is attempted
should prevent the NAND device from being started successfully.

There is another driver, omap-keypad, which also manipulates MPUIO
registers, but has never been calling request_mem_region() on startup,
so it's not affected by the change in the gpio-omap and works correctly.
It uses the depreciated omap_read/write functions for accessing MPUIO
registers. Unlike the NAND driver, these I/O lines and registers are
separate from those used by the GPIO driver. However, both register sets
are non-contiguous and overlapping, so it would be impractical to
request the two sets separately, one from the gpio-omap, the other form
the omap-keypad driver.

In order to solve all these issues correctly, a solution first suggested
by Artem Bityutskiy, then closer specified by Tony Lindgren while they
commented the initial version of this fix, should be implemented. The
gpio-omap driver should export a few functions which would allow the
other two drivers to access MPUIO registers in a safe manner instead of
trying to manage them in parallel to the GPIO driver.  However, such a
big change, affecting 3 drivers all together, is not suitable for the rc
cycle, and should be prepared for the merge window.  Then, an
alternative solution is proposed as a regression fix.

For the ams-delta NAND driver to initialize correctly in coexistence
with the changed GPIO driver, drop the request_mem_region() call from
the former, especially as this call is going to be removed while the
long-term solution is implemented.

Tested on Amstrad Delta.

Signed-off-by: Janusz Krzysztofik &lt;jkrzyszt@tis.icnet.pl&gt;
Acked-by: Tony Lindgren &lt;tony@atomide.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;
</content>
</entry>
<entry>
<title>mtd: fix oops in dataflash driver</title>
<updated>2012-05-07T19:29:50Z</updated>
<author>
<name>Will Newton</name>
<email>will.newton@gmail.com</email>
</author>
<published>2012-03-30T10:51:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7a84477c4acebf6299b6a8bd6a1d5894eb838ffa'/>
<id>urn:sha1:7a84477c4acebf6299b6a8bd6a1d5894eb838ffa</id>
<content type='text'>
I'm seeing an oops in mtd_dataflash.c with Linux 3.3. What appears to
be happening is that otp_select_filemode calls mtd_read_fact_prot_reg
with -1 for offset and length and a NULL buffer to test if OTP
operations are supported. This finds its way down to otp_read in
mtd_dataflash.c and causes an oops when memcpying the returned data
into the NULL buf.

None of the checks in otp_read catches the negative length and offset.
Changing the length of the dummy read to 0 prevents the oops.

Cc: stable@kernel.org [3.3+]
Signed-off-by: Artem Bityutskiy &lt;artem.bityutskiy@linux.intel.com&gt;
Signed-off-by: David Woodhouse &lt;David.Woodhouse@intel.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma</title>
<updated>2012-04-26T22:33:36Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-04-26T22:33:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=acdf2fc860f785781bb304a7f178141541f85283'/>
<id>urn:sha1:acdf2fc860f785781bb304a7f178141541f85283</id>
<content type='text'>
Pull [GIT PULL] slave-dmaengine fixes from Vinod Koul.

* 'fixes' of git://git.infradead.org/users/vkoul/slave-dma:
  dmaengine/amba-pl08x : reset phychan_hold on terminate all
  dma: pl330: fix a couple of compilation warnings
  dma/ste_dma40: fix erroneous comparison
  dma/ste_dma40: explicitly include regulator consumer header
  dma40: Improve the logic of stopping logical chan
  dmaengine: at_hdmac: remove clear-on-read in atc_dostart()
  dma: mxs-dma: enable channel in device_issue_pending call
  dmaengine: imx-dma: dont complete descriptor for cyclic dma
</content>
</entry>
<entry>
<title>dma: mxs-dma: enable channel in device_issue_pending call</title>
<updated>2012-04-20T10:05:58Z</updated>
<author>
<name>Shawn Guo</name>
<email>shawn.guo@linaro.org</email>
</author>
<published>2012-04-11T05:29:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d04525ed0323709711277563a2c76e446a017423'/>
<id>urn:sha1:d04525ed0323709711277563a2c76e446a017423</id>
<content type='text'>
Enable channel in device_issue_pending call, so that the order between
cookie assignment and channel enabling can be ensured naturally.

It fixes the mxs gpmi-nand breakage which is caused by the incorrect
order of cookie assigning and channel enabling.

Suggested-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Signed-off-by: Shawn Guo &lt;shawn.guo@linaro.org&gt;
Tested-by: Huang Shijie &lt;b32955@freescale.com&gt;
Tested-by &lt;samgandhi9@gmail.com&gt;
Signed-off-by: Vinod Koul &lt;vinod.koul@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>fix breakage in mtdchar_open(), sanitize failure exits</title>
<updated>2012-04-09T05:38:55Z</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2012-04-09T05:36:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c65390f4dd49755863f6d772ec538ee4757c08d7'/>
<id>urn:sha1:c65390f4dd49755863f6d772ec538ee4757c08d7</id>
<content type='text'>
simple_release_fs() should be only done on failure there.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
</feed>
