linux_old1/drivers/mtd/nand
Boris BREZILLON 03a0e8a7c5 mtd: nand: sunxi: fix OOB handling in ->write_xxx() functions
The USER_DATA register cannot be accessed using byte accessors on A13
SoCs, thus triggering a bug when using memcpy_toio on this register.
Declare an helper macros to convert an OOB buffer into a suitable
USER_DATA value and vice-versa.

This patch also fixes an error in the oob_required logic (some OOB data
are not written even if the user required it) by removing the
oob_required condition, which is perfectly valid since the core already
fill ->oob_poi with FFs when oob_required is false.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Cc: <stable@vger.kernel.org> # 3.19+
Fixes: 1fef62c142 ("mtd: nand: add sunxi NAND flash controller support")
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
2015-09-21 13:36:42 -07:00
..
bcm47xxnflash mtd: nand: bcm47xxnflash: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
brcmnand mtd: brcmnand: Fix misuse of IS_ENABLED 2015-08-07 16:17:43 -07:00
gpmi-nand Common MTD: 2015-04-22 12:00:44 -07:00
Kconfig mtd: denali: hide core part from user in Kconfig 2015-08-18 17:21:35 -07:00
Makefile mtd: nand: omap2: Rename shippable module to omap2_nand 2015-09-02 14:04:49 -07:00
ams-delta.c mtd: nand: ams-delta: fix overwritten mtd_info->owner in initialization 2015-01-15 19:33:03 -08:00
atmel_nand.c mtd: atmel_nand: don't map the ROM table if no pmecc table offset in DT 2015-04-05 17:47:56 -07:00
atmel_nand_ecc.h mtd: atmel_nand: add a definition for the oob reserved bytes 2015-04-05 17:47:56 -07:00
atmel_nand_nfc.h mtd: atmel_nand: check NFC busy flag by HSMC_SR instead of NFC cmd regs 2015-03-11 09:49:28 -07:00
au1550nd.c mtd: nand: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
bf5xx_nand.c mtd: nand: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
cafe_nand.c mtd: cafe_nand: drop duplicate .write_page implementation 2014-11-25 23:13:38 -08:00
cmx270_nand.c mtd: cmx270_nand: Remove unnecessary OOM messages 2014-01-03 11:22:29 -08:00
cs553x_nand.c mtd: cs553x_nand: Fix kasprintf() usage 2015-06-16 18:58:47 -07:00
davinci_nand.c nand: davinci: add support for 4K page size nand devices 2015-07-20 09:58:15 -07:00
denali.c mtd: denali: Disable sub-page writes in Denali NAND driver 2015-03-30 18:32:44 -07:00
denali.h mtd: denali: fix include guard and license block of denali.h 2014-09-17 23:32:30 -07:00
denali_dt.c mtd: nand: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
denali_pci.c mtd: denali_pci: switch to dev_err() 2015-08-18 17:21:37 -07:00
diskonchip.c arch, drivers: don't include <asm/io.h> directly, use <linux/io.h> instead 2015-08-10 23:07:05 -04:00
docg4.c mtd: nand: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
fsl_elbc_nand.c mtd: nand: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
fsl_ifc_nand.c fsl_ifc: Change IO accessor based on endianness 2015-08-07 22:59:34 -05:00
fsl_upm.c mtd: nand: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
fsmc_nand.c mtd: fsmc_nand: match wait_for_completion_timeout return type 2015-05-06 23:48:04 -07:00
gpio.c MTD updates for 3.19: 2014-12-17 09:59:26 -08:00
hisi504_nand.c genirq: Remove the deprecated 'IRQF_DISABLED' request_irq() flag entirely 2015-03-05 20:53:06 +01:00
jz4740_nand.c mtd: nand: jz4740: Convert to GPIO descriptor API 2015-02-02 01:04:36 -08:00
lpc32xx_mlc.c mtd: nand: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
lpc32xx_slc.c mtd: nand: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
mpc5121_nfc.c mtd: constify of_device_id array 2015-05-06 23:44:07 -07:00
mxc_nand.c mtd: mxc_nand: generate nand_ecclayout for 8 bit ECC 2015-05-20 21:32:18 -07:00
nand_base.c mtd: nand: correct indentation within conditional 2015-05-22 10:57:47 -07:00
nand_bbt.c mtd: remove incorrect file name 2015-05-22 10:57:46 -07:00
nand_bch.c mtd: cleanup style on pr_debug messages 2011-09-11 15:02:16 +03:00
nand_ecc.c mtd: nand: add line feed to pr_err 2014-04-16 00:18:26 -07:00
nand_ids.c mtd: nand: add Toshiba TC58NVG0S3E to nand_ids table 2015-08-25 12:24:02 -07:00
nand_timings.c mtd: nand: Use ULL-suffix for big u64 constant 2014-08-19 11:53:09 -07:00
nandsim.c mtd: nandsim: fix double free 2015-07-06 15:20:10 -07:00
ndfc.c mtd: remove incorrect file name 2015-05-22 10:57:46 -07:00
nuc900_nand.c mtd: nand: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
omap2.c mtd: nand: omap: drop condition with no effect 2015-02-05 19:51:08 -08:00
omap_elm.c mtd: omap_elm: Fix module alias 2015-08-18 17:57:46 -07:00
orion_nand.c MTD updates for 3.19: 2014-12-17 09:59:26 -08:00
pasemi_nand.c mtd: nand: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
plat_nand.c mtd: plat_nand: use default partition probe 2015-05-27 12:34:35 -07:00
pxa3xx_nand.c nand: pxa3xx: Increase READ_ID buffer and make the size static 2015-08-19 15:53:48 -07:00
r852.c mtd: r852: make ecc_reg 32-bit in r852_ecc_correct 2015-07-20 10:38:25 -07:00
r852.h
s3c2410.c mtd: s3c2410: Constify platform_device_id 2015-05-07 00:13:24 -07:00
sh_flctl.c mtd: sh_flctl: remove slave_id settings for DMAEngine 2015-02-23 16:12:25 +05:30
sharpsl.c mtd: nand: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
sm_common.c mtd: nand: refactor chip->block_markbad interface 2013-08-30 16:47:52 +01:00
sm_common.h mtd: use __packed shorthand 2014-08-19 11:53:08 -07:00
socrates_nand.c mtd: nand: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
sunxi_nand.c mtd: nand: sunxi: fix OOB handling in ->write_xxx() functions 2015-09-21 13:36:42 -07:00
tmio_nand.c mtd: tmio_nand: Use devm_*() functions 2014-01-03 11:22:28 -08:00
txx9ndfmc.c mtd: nand: drop owner assignment from platform_drivers 2014-10-20 16:20:58 +02:00
xway_nand.c mtd: plat_nand: use default partition probe 2015-05-27 12:34:35 -07:00