1. 19 Dec, 2015 4 commits
    • Masahiro Yamada's avatar
      mtd: denali: make MTD_NAND_DENALI_DT dependent on OF · 0ed6ca3a
      Masahiro Yamada authored
      The build passes even if CONFIG_OF is undefined, but it makes sense
      to let it depend on OF.
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      0ed6ca3a
    • Helmut Schaa's avatar
      mtd: nand: Disable subpage writes for drivers without ecc->hwctl · 44991b3d
      Helmut Schaa authored
      nand_write_subpage_hwecc causes a crash if the driver did not register
      ecc->hwctl or ecc->calculate. Fix this by disabling subpage writes if
      ecc->hwctl or ecc->calculate is not provided by the driver.
      
      This behavior was introduced in commit 837a6ba4
      "mtd: nand: subpage write support for hardware based ECC schemes".
      
      This fixes a crash with fsl_elbc_nand and maybe others:
      
      Unable to handle kernel paging request for instruction fetch
      Faulting instruction address: 0x00000000
      Oops: Kernel access of bad area, sig: 11 [#1]
      SMP NR_CPUS=2 P1020 RDB
      Modules linked in: ath9k ath9k_common pppoe ppp_async option iptable_nat ath9k_hw ath usb_wwan pppox ppp_generic nf_nat_ipv4 nf_conntrack_ipv4 mac80211 ipt_MASQUERADE cfg80211 xt_time xt_tcpudp xt_state xt_quota xt_policy xt_pkttype xt_owner xt_nat xt_multiport xt_mh
      CPU: 1 PID: 2161 Comm: ubiformat Not tainted 3.10.26 #6
      task: efbc2700 ti: c7950000 task.ti: c7950000
      NIP: 00000000 LR: c01a495c CTR: 00000000
      REGS: c7951cb0 TRAP: 0400   Not tainted  (3.10.26)
      MSR: 00029000 <CE,EE,ME>  CR: 24002028  XER: 00000000
      
      GPR00: c01a4b6c c7951d60 efbc2700 ef84b000 00000001 00000000 000001ff c7800500
      GPR08: 00000000 00000000 efae5e40 c01a4ae4 24002022 10023418 c7951e5c c7800500
      GPR16: c017b6a8 00000000 0000003f c053404c 00000000 00000004 00000000 00000003
      GPR24: 00000010 00000200 ef84b000 c7800d00 c7800000 c7800500 ef84b1c8 00000000
      NIP [00000000]   (null)
      LR [c01a495c] nand_write_subpage_hwecc+0x74/0x174
      Call Trace:
      [c7951d60] [c7951d64] 0xc7951d64 (unreliable)
      [c7951da0] [c01a4b6c] nand_write_page+0x88/0x198
      [c7951dd0] [c01a5f7c] nand_do_write_ops+0x2f4/0x39c
      [c7951e40] [c01a61e0] nand_write+0x58/0x84
      [c7951e80] [c019e29c] mtdchar_write+0x1dc/0x28c
      [c7951ef0] [c00aba84] vfs_write+0xcc/0x1ac
      [c7951f10] [c00ac04c] SyS_write+0x4c/0x90
      [c7951f40] [c000cd84] ret_from_syscall+0x0/0x3c
       --- Exception: c01 at 0x48050ed8
           LR = 0x100071b8
       Instruction dump:
       XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
       XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
       ---[ end trace 161d3c65a2a15cb8 ]---
      
      Kernel panic - not syncing: Fatal exception
      
      [Brian: editorial note - we've applied a previous fix for the driver in
      question (fsl_elbc_nand) long ago:
      commit f034d87d ("mtd: eLBC NAND: fix subpage write support")
      but this still makes sense, and it could solve issues on some other
      unforseen driver.]
      
      Cc: Pekon Gupta <pekon.gupta@gmail.com>
      Cc: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
      Cc: David Woodhouse <David.Woodhouse@intel.com>
      Signed-off-by: default avatarHelmut Schaa <helmut.schaa@googlemail.com>
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      44991b3d
    • Fabian Frederick's avatar
      mtd: ftl: use swap() in copy_erase_unit() · 6166a76f
      Fabian Frederick authored
      Use kernel.h macro definition.
      
      Thanks to Julia Lawall for Coccinelle scripting support.
      Signed-off-by: default avatarFabian Frederick <fabf@skynet.be>
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      6166a76f
    • Fabian Frederick's avatar
      mtd: cfi_cmdset_0002: use swap() in cfi_cmdset_0002() · fdd9d27c
      Fabian Frederick authored
      Use kernel.h macro definition.
      
      Thanks to Julia Lawall for Coccinelle scripting support.
      Signed-off-by: default avatarFabian Frederick <fabf@skynet.be>
      Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
      fdd9d27c
  2. 18 Dec, 2015 36 commits