<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/mtd, branch v4.0</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v4.0</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v4.0'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2015-03-21T17:36:44Z</updated>
<entry>
<title>Merge tag 'upstream-4.0-rc5' of git://git.infradead.org/linux-ubifs</title>
<updated>2015-03-21T17:36:44Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2015-03-21T17:36:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c6ef814509fedb4ab4b5dc5bdca309d4e7181597'/>
<id>urn:sha1:c6ef814509fedb4ab4b5dc5bdca309d4e7181597</id>
<content type='text'>
Pull UBI fix from Artem Bityutskiy:
 "This fixes a bug introduced during the v4.0 merge window where we
  forgot to put braces where they should be"

* tag 'upstream-4.0-rc5' of git://git.infradead.org/linux-ubifs:
  UBI: fix missing brace control flow
</content>
</entry>
<entry>
<title>mtd: nand: MTD_NAND_HISI504 should depend on HAS_DMA</title>
<updated>2015-03-03T06:55:56Z</updated>
<author>
<name>Geert Uytterhoeven</name>
<email>geert@linux-m68k.org</email>
</author>
<published>2015-03-01T09:35:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=5e0899db69e27abfdc1c6223ca74f479acdedaa6'/>
<id>urn:sha1:5e0899db69e27abfdc1c6223ca74f479acdedaa6</id>
<content type='text'>
If NO_DMA=y:

    drivers/built-in.o: In function `hisi_nfc_probe':
    hisi504_nand.c:(.text+0x23e646): undefined reference to `dmam_alloc_coherent'

Signed-off-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Signed-off-by: Brian Norris &lt;computersforpeace@gmail.com&gt;
</content>
</entry>
<entry>
<title>mtd: pxa3xx_nand: fix driver when num_cs is 0</title>
<updated>2015-02-28T09:22:07Z</updated>
<author>
<name>Robert Jarzmik</name>
<email>robert.jarzmik@free.fr</email>
</author>
<published>2015-02-08T20:02:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=e423c90a6520d704cd885d742b499dfd6b0f6277'/>
<id>urn:sha1:e423c90a6520d704cd885d742b499dfd6b0f6277</id>
<content type='text'>
As the devicetree binding doesn't require num_cs to exist or be strictly
positive, and neither does the platform data case, a bug appear when
num_cs is set to 0 and panics the kernel.

The issue is that in alloc_nand_resource(), chip is dereferenced without
having a value assigned when num_cs == 0.

Fix this by returning ENODEV is num_cs == 0.

The panic seen is :
Unable to handle kernel NULL pointer dereference at virtual address 000002b8
pgd = c0004000
[000002b8] *pgd=00000000
Internal error: Oops: 5 [#1] PREEMPT ARM
Modules linked in:
Hardware name: Marvell PXA3xx (Device Tree Support)
task: c3822aa0 ti: c3826000 task.ti: c3826000
PC is at alloc_nand_resource+0x180/0x4a8
LR is at alloc_nand_resource+0xa0/0x4a8
pc : [&lt;c0275b90&gt;]    lr : [&lt;c0275ab0&gt;]    psr: 68000013
sp : c3827d90  ip : 00000000  fp : 00000000
r10: c3862200  r9 : 0000005e  r8 : 00000000
r7 : c3865610  r6 : c3862210  r5 : c3924210  r4 : c3862200
r3 : 00000000  r2 : 00000000  r1 : 00000000  r0 : 00000000
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 0000397f  Table: 80004018  DAC: 00000035
Process swapper (pid: 1, stack limit = 0xc3826198)
Stack: (0xc3827d90 to 0xc3828000)
...zip...
[&lt;c0275b90&gt;] (alloc_nand_resource) from [&lt;c0275ff8&gt;] (pxa3xx_nand_probe+0x140/0x978)
[&lt;c0275ff8&gt;] (pxa3xx_nand_probe) from [&lt;c0258c40&gt;] (platform_drv_probe+0x48/0xa4)
[&lt;c0258c40&gt;] (platform_drv_probe) from [&lt;c0257650&gt;] (driver_probe_device+0x80/0x21c)
[&lt;c0257650&gt;] (driver_probe_device) from [&lt;c0257878&gt;] (__driver_attach+0x8c/0x90)
[&lt;c0257878&gt;] (__driver_attach) from [&lt;c0255ec4&gt;] (bus_for_each_dev+0x58/0x88)
[&lt;c0255ec4&gt;] (bus_for_each_dev) from [&lt;c0256ec8&gt;] (bus_add_driver+0xd8/0x1d4)
[&lt;c0256ec8&gt;] (bus_add_driver) from [&lt;c0257f14&gt;] (driver_register+0x78/0xf4)
[&lt;c0257f14&gt;] (driver_register) from [&lt;c00088a8&gt;] (do_one_initcall+0x80/0x1e4)
[&lt;c00088a8&gt;] (do_one_initcall) from [&lt;c048ed08&gt;] (kernel_init_freeable+0xec/0x1b4)
[&lt;c048ed08&gt;] (kernel_init_freeable) from [&lt;c0377d8c&gt;] (kernel_init+0x8/0xe4)
[&lt;c0377d8c&gt;] (kernel_init) from [&lt;c00095f8&gt;] (ret_from_fork+0x14/0x3c)
Code: e503b234 e5953008 e1530001 caffffd1 (e59002b8)
---[ end trace a5770060c8441895 ]---

Signed-off-by: Robert Jarzmik &lt;robert.jarzmik@free.fr&gt;
Acked-by: Ezequiel Garcia &lt;ezequiel.garcia@free-electrons.com&gt;
Signed-off-by: Brian Norris &lt;computersforpeace@gmail.com&gt;
</content>
</entry>
<entry>
<title>mtd: nand: pxa3xx: Fix PIO FIFO draining</title>
<updated>2015-02-28T08:53:50Z</updated>
<author>
<name>Maxime Ripard</name>
<email>maxime.ripard@free-electrons.com</email>
</author>
<published>2015-02-18T10:32:07Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=8dad0386b97c4bd6edd56752ca7f2e735fe5beb4'/>
<id>urn:sha1:8dad0386b97c4bd6edd56752ca7f2e735fe5beb4</id>
<content type='text'>
The NDDB register holds the data that are needed by the read and write
commands.

However, during a read PIO access, the datasheet specifies that after each 32
bytes read in that register, when BCH is enabled, we have to make sure that the
RDDREQ bit is set in the NDSR register.

This fixes an issue that was seen on the Armada 385, and presumably other mvebu
SoCs, when a read on a newly erased page would end up in the driver reporting a
timeout from the NAND.

Cc: &lt;stable@vger.kernel.org&gt; # v3.14
Signed-off-by: Maxime Ripard &lt;maxime.ripard@free-electrons.com&gt;
Reviewed-by: Boris Brezillon &lt;boris.brezillon@free-electrons.com&gt;
Acked-by: Ezequiel Garcia &lt;ezequiel.garcia@free-electrons.com&gt;
Signed-off-by: Brian Norris &lt;computersforpeace@gmail.com&gt;
</content>
</entry>
<entry>
<title>UBI: fix missing brace control flow</title>
<updated>2015-02-23T21:17:24Z</updated>
<author>
<name>Brian Norris</name>
<email>computersforpeace@gmail.com</email>
</author>
<published>2015-02-23T21:07:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=b388e6a7a6ba988998ddd83919ae8d3debf1a13d'/>
<id>urn:sha1:b388e6a7a6ba988998ddd83919ae8d3debf1a13d</id>
<content type='text'>
commit 0e707ae79ba3 ("UBI: do propagate positive error codes up") seems
to have produced an unintended change in the control flow here.

Completely untested, but it looks obvious.

Caught by Coverity, which didn't like the indentation. CID 1271184.

Signed-off-by: Brian Norris &lt;computersforpeace@gmail.com&gt;
Cc: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</content>
</entry>
<entry>
<title>Merge tag 'for-linus-20150216' of git://git.infradead.org/linux-mtd</title>
<updated>2015-02-18T16:01:44Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2015-02-18T16:01:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=402521b8f7cc1f4f442418cc98ec6e37388207b0'/>
<id>urn:sha1:402521b8f7cc1f4f442418cc98ec6e37388207b0</id>
<content type='text'>
Pull MTD updates from Brian Norris:
 "NAND:

   - Add new Hisilicon NAND driver for Hip04
   - Add default reboot handler, to ensure all outstanding erase
     transactions complete in time
   - jz4740: convert to use GPIO descriptor API
   - Atmel: add support for sama5d4
   - Change default bitflip threshold to 75% of correction strength
   - Miscellaneous cleanups and bugfixes

  SPI NOR:

   - Freescale QuadSPI:
   - Fix a few probe() and remove() issues
   - Add a MAINTAINERS entry for this driver
   - Tweak transfer size to increase read performance
   - Add suspend/resume support
   - Add Micron quad I/O support
   - ST FSM SPI: miscellaneous fixes

  JFFS2:

   - gracefully handle corrupted 'offset' field found on flash

  Other:

   - bcm47xxpart: add tweaks for a few new devices
   - mtdconcat: set return lengths properly for mtd_write_oob()
   - map_ram: enable use with mtdoops
   - maps: support fallback to ROM/UBI for write-protected NOR flash"

* tag 'for-linus-20150216' of git://git.infradead.org/linux-mtd: (46 commits)
  mtd: hisilicon: &amp;&amp; vs &amp; typo
  jffs2: fix handling of corrupted summary length
  mtd: hisilicon: add device tree binding documentation
  mtd: hisilicon: add a new NAND controller driver for hisilicon hip04 Soc
  mtd: avoid registering reboot notifier twice
  mtd: concat: set the return lengths properly
  mtd: kconfig: replace PPC_OF with PPC
  mtd: denali: remove unnecessary stubs
  mtd: nand: remove redundant local variable
  MAINTAINERS: add maintainer entry for FREESCALE QUAD SPI driver
  mtd: fsl-quadspi: improve read performance by increase AHB transfer size
  mtd: fsl-quadspi: Remove unnecessary 'map_failed' label
  mtd: fsl-quadspi: Remove unneeded success/error messages
  mtd: fsl-quadspi: Fix the error paths
  mtd: nand: omap: drop condition with no effect
  mtd: nand: jz4740: Convert to GPIO descriptor API
  mtd: nand: Request strength instead of bytes for soft BCH
  mtd: nand: default bitflip-reporting threshold to 75% of correction strength
  mtd: atmel_nand: introduce a new compatible string for sama5d4 chip
  mtd: atmel_nand: return max bitflips in all sectors in pmecc_correction()
  ...
</content>
</entry>
<entry>
<title>Merge branch 'for-linus-v3.20' of git://git.infradead.org/linux-ubifs</title>
<updated>2015-02-15T18:11:39Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2015-02-15T18:11:39Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=8c988ae787af4900bec5410658e8a82844185c85'/>
<id>urn:sha1:8c988ae787af4900bec5410658e8a82844185c85</id>
<content type='text'>
Pull UBI and UBIFS updates from Richard Weinberger:
 - cleanups and bug fixes all over UBI and UBIFS
 - block-mq support for UBI Block
 - UBI volumes can now be renamed while they are in use
 - security.* XATTR support for UBIFS
 - a maintainer update

* 'for-linus-v3.20' of git://git.infradead.org/linux-ubifs:
  UBI: block: Fix checking for NULL instead of IS_ERR()
  UBI: block: Continue creating ubiblocks after an initialization error
  UBIFS: return -EINVAL if log head is empty
  UBI: Block: Explain usage of blk_rq_map_sg()
  UBI: fix soft lockup in ubi_check_volume()
  UBI: Fastmap: Care about the protection queue
  UBIFS: add a couple of extra asserts
  UBI: do propagate positive error codes up
  UBI: clean-up printing helpers
  UBI: extend UBI layer debug/messaging capabilities - cosmetics
  UBIFS: add ubifs_err() to print error reason
  UBIFS: Add security.* XATTR support for the UBIFS
  UBIFS: Add xattr support for symlinks
  UBI: Block: Add blk-mq support
  UBI: Add initial support for scatter gather
  UBI: rename_volumes: Use UBI_METAONLY
  UBI: Implement UBI_METAONLY
  Add myself as UBI co-maintainer
</content>
</entry>
<entry>
<title>mtd: hisilicon: &amp;&amp; vs &amp; typo</title>
<updated>2015-02-15T09:05:05Z</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2015-02-11T10:25:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=dd58d38fb30aa9ab52e792092cbd55c1dbc6e974'/>
<id>urn:sha1:dd58d38fb30aa9ab52e792092cbd55c1dbc6e974</id>
<content type='text'>
The intent was to mask away some bits here, not to test true or false.

Fix: 54f531f6e332 ('mtd: hisilicon: add a new NAND controller driver for hisilicon hip04 Soc')
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Brian Norris &lt;computersforpeace@gmail.com&gt;
</content>
</entry>
<entry>
<title>UBI: block: Fix checking for NULL instead of IS_ERR()</title>
<updated>2015-02-12T22:33:32Z</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2015-02-05T07:38:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=8168b9bba6a88fe8a81be5b5f0937faeb3f6775d'/>
<id>urn:sha1:8168b9bba6a88fe8a81be5b5f0937faeb3f6775d</id>
<content type='text'>
We recently switched from allocating -&gt;rq using blk_init_queue() to
use blk_mq_init_queue() so we need to update the error handling to
check for IS_ERR() instead of NULL.

Fixes: ff1f48ee3bb3 ('UBI: Block: Add blk-mq support')
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</content>
</entry>
<entry>
<title>UBI: block: Continue creating ubiblocks after an initialization error</title>
<updated>2015-02-12T22:29:25Z</updated>
<author>
<name>Dan Ehrenberg</name>
<email>dehrenberg@chromium.org</email>
</author>
<published>2014-12-19T19:27:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=1440061be128180a3846480d8b8bd24233edcd2f'/>
<id>urn:sha1:1440061be128180a3846480d8b8bd24233edcd2f</id>
<content type='text'>
If one ubi volume is corrupted but another is not, it should be
possible to initialize that ubiblock from a kernel commandline which
includes both of them. This patch changes the error handling behavior
in initializing ubiblock to ensure that all parameters are attempted
even if one fails. If there is a failure, it is logged on dmesg.
It also makes error messages more descriptive by including the
name of the UBI volume that failed.

Tested: Formatted ubi volume /dev/ubi5_0 in a corrupt way and
dev/ubi3_0 properly and included "ubi.block=5,0 ubi.block=3,0" on
the kernel command line. At boot, I see the following in the console:
[   21.082420] UBI error: ubiblock_create_from_param: block: can't open volume on ubi5_0, err=-19
[   21.084268] UBI: ubiblock3_0 created from ubi3:0(rootfs)

Signed-off-by: Dan Ehrenberg &lt;dehrenberg@chromium.org&gt;
Reviewed-by: Ezequiel Garcia &lt;ezequiel@vanguardiasur.com.ar&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</content>
</entry>
</feed>
