1. 29 9月, 2012 8 次提交
  2. 17 7月, 2012 1 次提交
  3. 07 7月, 2012 2 次提交
  4. 09 6月, 2012 1 次提交
  5. 14 5月, 2012 13 次提交
  6. 27 3月, 2012 12 次提交
  7. 11 1月, 2012 1 次提交
  8. 10 1月, 2012 1 次提交
  9. 16 10月, 2011 1 次提交
    • B
      mtd: nand: initialize ops.mode · 23b1a99b
      Brian Norris 提交于
      Our `ops' information was converted to a local variable recently, and
      apparently, old code relied on the fact that the global version was
      often left in a valid mode. We can't make this assumption on local
      structs, and we shouldn't be relying on a previous state anyway.
      
      Instead, we initialize mode to 0 for don't-care situations (i.e., the
      operation does not use OOB anyway) and MTD_OPS_PLACE_OOB when we want to
      place OOB data.
      
      This fixes a bug with nand_default_block_markbad(), where we catch on
      the BUG() call in nand_fill_oob():
      
      Kernel bug detected[#1]:
      ...
      Call Trace:
      [<80307350>] nand_fill_oob.clone.5+0xa4/0x15c
      [<803075d8>] nand_do_write_oob+0x1d0/0x260
      [<803077c4>] nand_default_block_markbad+0x15c/0x1a8
      [<802e8c2c>] part_block_markbad+0x80/0x98
      [<802ebc74>] mtd_ioctl+0x6d8/0xbd0
      [<802ec1a4>] mtd_unlocked_ioctl+0x38/0x5c
      [<800d9c60>] do_vfs_ioctl+0xa4/0x6e4
      [<800da2e4>] sys_ioctl+0x44/0xa0
      [<8001381c>] stack_done+0x20/0x40
      Signed-off-by: NBrian Norris <computersforpeace@gmail.com>
      Signed-off-by: NArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      23b1a99b