u-boot/drivers
Nikita Kiryanov eb237a15bd mtd: nand: omap: fix sw->hw->sw ecc switch
When switching ecc mode, omap_select_ecc_scheme() assigns the appropriate values
into the current nand chip's ecc.layout struct. This is done under the
assumption that the struct exists only to store values, so it is OK to overwrite
it, but there is at least one situation where this assumption is incorrect:

When switching to 1 bit hamming code sw ecc, the job of assigning layout data
is outsourced to nand_scan_tail(), which simply assigns into ecc.layout a
pointer to an existing struct prefilled with the appropriate values. This struct
doubles as both data and layout definition, and therefore shouldn't be
overwritten, but on the next switch to hardware ecc, this is exactly what's
going to happen. The next time the user switches to software ecc, they're
going to get a messed up ecc layout.

Prevent this and possible similar bugs by explicitly using the
private-to-omap_gpmc.c omap_ecclayout struct when switching ecc mode.

Cc: Scott Wood <scottwood@freescale.com>
Cc: Pekon Gupta <pekon@ti.com>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
2013-12-17 17:46:53 -06:00
..
bios_emulator bios_emulator: delete an unnecessary include path 2013-11-25 10:41:54 -05:00
block ahci: Fix cache align error messages 2013-12-04 08:12:08 -05:00
bootcount am33xx: Make SoC bootcount driver have its own symbol 2013-11-11 12:17:35 -05:00
crypto drivers: convert makefiles to Kbuild style 2013-10-31 13:26:01 -04:00
ddr/fsl Driver/DDR: Update DDR driver to allow non-zero base address 2013-11-25 11:43:47 -08:00
dfu usb: dfu: make nand upload working 2013-11-08 20:46:20 +01:00
dma drivers: convert makefiles to Kbuild style 2013-10-31 13:26:01 -04:00
fpga drivers: descend into sub directories only when it is necessary 2013-11-17 14:11:30 -05:00
gpio at91: add new gpio pin definitions 2013-12-09 13:21:26 +01:00
hwmon cosmetic: remove empty lines at the top of file 2013-11-08 09:41:37 -05:00
i2c Merge branch 'master' of git://git.denx.de/u-boot-arm 2013-12-10 17:15:18 -05:00
input drivers: convert makefiles to Kbuild style 2013-10-31 13:26:01 -04:00
misc spi_flash: Add spi_flash_probe_fdt() to locate SPI by FDT node 2013-12-09 12:22:12 -07:00
mmc mmc: add Faraday FTSDC021 SDHCI controller support 2013-12-08 14:23:05 +02:00
mtd mtd: nand: omap: fix sw->hw->sw ecc switch 2013-12-17 17:46:53 -06:00
net net/fman: add ft_fixup_xgec to support 3rd and 4th 10GEC 2013-12-11 11:12:20 -08:00
pci malta: support for coreFPGA6 boards 2013-11-09 17:21:01 +01:00
pcmcia drivers: convert makefiles to Kbuild style 2013-10-31 13:26:01 -04:00
power ARMV7: OMAP4: Add twl6032 support 2013-12-04 08:11:28 -05:00
qe drivers/qe: move the entry to drivers/Makefile 2013-11-17 14:11:31 -05:00
rtc Merge branch 'master' of git://git.denx.de/u-boot-mips 2013-11-11 09:40:34 -05:00
serial serial: lpc32xx: send CR before LF 2013-12-13 09:14:34 -05:00
sound drivers: convert makefiles to Kbuild style 2013-10-31 13:26:01 -04:00
spi Merge branch 'spi' of git://git.denx.de/u-boot-x86 2013-12-10 09:36:23 -05:00
tpm drivers: tpm: clean up unused code 2013-11-17 14:11:30 -05:00
twserial drivers: convert makefiles to Kbuild style 2013-10-31 13:26:01 -04:00
usb drivers/usb/gadget: select objects by obj-$(CONFIG-...) 2013-12-13 09:18:44 -05:00
video Merge branch 'master' of git://git.denx.de/u-boot-video 2013-12-16 09:56:24 -05:00
watchdog Merge branch 'iu-boot/master' into 'u-boot-arm/master' 2013-11-09 22:59:47 +01:00
Makefile drivers/qe: move the entry to drivers/Makefile 2013-11-17 14:11:31 -05:00