1. 09 Jan, 2014 2 commits
  2. 06 Jan, 2014 2 commits
  3. 02 Jan, 2014 11 commits
  4. 31 Dec, 2013 1 commit
    • Marek Vasut's avatar
      mtd: onenand: Fix unaligned access · 9b56942f
      Marek Vasut authored
      Fix unaligned access in OneNAND core. The problem is that the ffchars[] array
      is an array of "unsigned char", but in onenand_write_ops_nolock() can be passed
      to the memcpy_16() function. The memcpy_16() function will treat the buffer as
      an array of "unsigned short", thus triggering unaligned access if the compiler
      decided ffchars[] to be not aligned.
      I managed to trigger the problem with regular ELDK 5.4 GCC compiler.
      Signed-off-by: default avatarMarek Vasut <marex@denx.de>
      Cc: Albert Aribaud <albert.u.boot@aribaud.net>
      Cc: Scott Wood <scottwood@freescale.com>
      Cc: Tom Rini <trini@ti.com>
  5. 20 Dec, 2013 2 commits
  6. 19 Dec, 2013 3 commits
  7. 18 Dec, 2013 18 commits
  8. 17 Dec, 2013 1 commit
    • Nikita Kiryanov's avatar
      mtd: nand: omap: fix ecc ops assignment when changing ecc · fcd05245
      Nikita Kiryanov authored
      If we change to software ecc and then back to hardware ecc, the nand ecc ops
      pointers are populated with incorrect function pointers. This is related to the
      way nand_scan_tail() handles assigning functions to ecc ops:
      If we are switching to software ecc/no ecc, it assigns default functions to the
      ecc ops pointers unconditionally, but if we are switching to hardware ecc,
      the default hardware ecc functions are assigned to ops pointers only if these
      pointers are NULL (so that drivers could set their own functions). In the case
      of omap_gpmc.c driver, when we switch to sw ecc, sw ecc functions are
      assigned to ecc ops by nand_scan_tail(), and when we later switch to hw ecc,
      the ecc ops pointers are not NULL, so nand_scan_tail() does not overwrite
      them with hw ecc functions.
      The result: sw ecc functions used to write hw ecc data.
      Clear the ecc ops pointers in omap_gpmc.c when switching ecc types, so that
      ops which were not assigned by the driver will get the correct default values
      from nand_scan_tail().
      Cc: Scott Wood <scottwood@freescale.com>
      Cc: Pekon Gupta <pekon@ti.com>
      Signed-off-by: default avatarNikita Kiryanov <nikita@compulab.co.il>