1. 03 12月, 2012 1 次提交
    • N
      mtd cs553x_nand: Initialise ecc.strength before nand_scan() · d1f3b65d
      Nathan Williams 提交于
      Loading cs553x_nand with Hynix H27U1G8F2BTR NAND flash causes this bug:
      
      kernel BUG at drivers/mtd/nand/nand_base.c:3345!
      invalid opcode: 0000 [#1]
      Modules linked in: cs553x_nand(+) vfat fat usb_storage ehci_hcd usbcore usb_comr
      Pid: 436, comm: modprobe Not tainted 3.6.7 #1
      EIP: 0060:[<c118d205>] EFLAGS: 00010296 CPU: 0
      EIP is at nand_scan_tail+0x64c/0x69c
      EAX: 00000034 EBX: cea6ed98 ECX: 00000000 EDX: 00000000
      ESI: cea6ec00 EDI: cea6ec00 EBP: 20000000 ESP: cdd17e48
       DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068
      CR0: 8005003b CR2: 0804e119 CR3: 0d850000 CR4: 00000090
      DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
      DR6: ffff0ff0 DR7: 00000400
      Process modprobe (pid: 436, ti=cdd16000 task=cdd1c320 task.ti=cdd16000)
      Stack:
       c12e962c c118f7ef 00000003 cea6ed98 d014b25c 20000000 fffff007 00000001
       00000000 cdd53b00 d014b000 c1001021 cdd53b00 d01493c0 cdd53b00 cdd53b00
       d01493c0 c1047f83 d014b4a0 00000000 cdd17f9c ce4be454 cdd17f48 cdd1c320
      Call Trace:
       [<c118f7ef>] ? nand_scan+0x1b/0x4d
       [<d014b25c>] ? init_module+0x25c/0x2de [cs553x_nand]
       [<d014b000>] ? 0xd014afff
       [<c1001021>] ? do_one_initcall+0x21/0x111
       [<c1047f83>] ? sys_init_module+0xe4/0x1261
       [<c1031207>] ? task_work_run+0x36/0x43
       [<c1265ced>] ? syscall_call+0x7/0xb
      Code: fa ff ff c7 86 d8 00 00 00 01 00 00 00 e9 5f fc ff ff 68 f8 26 2e c1 e8 a7
      EIP: [<c118d205>] nand_scan_tail+0x64c/0x69c SS:ESP 0068:cdd17e48
      
      Initialising ecc.strength before the call to nand_scan() fixes this.
      Signed-off-by: NNathan Williams <nathan@traverse.com.au>
      Cc: stable@vger.kernel.org [3.4+]
      Acked-by: NBrian Norris <computersforpeace@gmail.com>
      Acked-by: NMike Dunn <mikedunn@newsguy.com>
      Signed-off-by: NArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      d1f3b65d
  2. 22 11月, 2012 15 次提交
  3. 21 11月, 2012 8 次提交
  4. 18 11月, 2012 4 次提交
  5. 16 11月, 2012 9 次提交
  6. 15 11月, 2012 3 次提交
    • R
      mtd: Fix kernel-doc content to avoid warning. · 9ef525a9
      Robert P. J. Day 提交于
      Add missing colons to fix kernel-doc generation warnings.
      Signed-off-by: NRobert P. J. Day <rpjday@crashcourse.ca>
      Signed-off-by: NArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      9ef525a9
    • M
      mtdoops: don't erase flash at each boot · cd409c61
      Matthieu CASTET 提交于
      The current version on mtdoops erase first block of mtdoops partition at each
      boot if there is no oops stored in flash. This can wear the flash.
      
      When mtdoops start, find_next_position is called to find the next free entry in
      the circular buffer. But if the flash is erased, find_next_position don't find
      anything (maxcount == 0xffffffff) and start with the first entry after erasing it.
      
      The scanning that is done in find_next_position already track free/used entries.
      So if at the end of the scanning we don't find anything, we can start at the
      first entry and erased the entry only if it is marked as used.
      Most of this is implemented in mtdoops_inc_counter, so to avoid duplicating
      code, if we don't find anything we set position to -1. mtdoops_inc_counter with
      increment it, erase the entry if needed and start as before with nextpage = 0
      and nextcount = 1).
      
      Also during the scan phase, we use the MTDOOPS_KERNMSG_MAGIC to detect corruped
      entries.
      
      Signed-off-by: Matthieu Castet <matthieu.castet@parrot@com>
      Signed-off-by: NArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      cd409c61
    • B
      mtd: sh_flctl: Add device tree support · 7c8f680e
      Bastian Hecht 提交于
      The flctl can now be probed via device tree setup in addition to the
      existing platform data way.
      
      SoC specific setup data is set in the .data member of the OF match, so
      kept within the driver itself, while board/user specific setup - like
      partitioning - is taken from the device tree.
      
      Actual configuration is added for the SoC sh7372.
      Signed-off-by: NBastian Hecht <hechtb@gmail.com>
      Signed-off-by: NArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      7c8f680e