1. 06 Sep, 2013 2 commits
    • Ralf Baechle's avatar
      eb37e6dd
    • Jerin Jacob's avatar
      MIPS: DMA: Fix BUG due to smp_processor_id() in preemptible code · d451e734
      Jerin Jacob authored
      The use of current_cpu_type() in cpu_is_noncoherent_r10000() is not preemption-safe.
      Use boot_cpu_type() instead to make it preemption-safe.
      
      <log>
      / # insmod mtd_readtest.ko dev=4
      mtd_readtest: MTD device: 4
      mtd_readtest: MTD device size 996671488, eraseblock size 524288, page size 4096, count of eraseblocks 1901, pages per eraseblock 128, OOB size 224
      mtd_readtest: scanning for bad eraseblocks
      mtd_readtest: scanned 1901 eraseblocks, 0 are bad
      mtd_readtest: testing page read
      BUG: using smp_processor_id() in preemptible [00000000] code: insmod/99
      caller is mips_dma_sync_single_for_cpu+0x2c/0x128
      CPU: 2 PID: 99 Comm: insmod Not tainted 3.10.4 #67
      Stack : 00000006 69735f63 00000000 00000000 00000000 00000000 808273d6 00000032
                80820000 00000002 8d700000 8de48fa0 00000000 00000000 00000000 00000000
                00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
                00000000 00000000 00000000 8d6afb00 8d6afb24 80721f24 807b9927 8012c130
                80820000 80721f24 00000002 00000063 8de48fa0 8082333c 807b98e6 8d6afaa0
                ...
      Call Trace:
      [<80109984>] show_stack+0x64/0x7c
      [<80666230>] dump_stack+0x20/0x2c
      [<803a2210>] debug_smp_processor_id+0xe0/0xf0
      [<801116f0>] mips_dma_sync_single_for_cpu+0x2c/0x128
      [<8043456c>] nand_plat_read_page+0x16c/0x234
      [<8042fad4>] nand_do_read_ops+0x194/0x480
      [<804301dc>] nand_read+0x50/0x7c
      [<804261c8>] part_read+0x70/0xc0
      [<804231dc>] mtd_read+0x80/0xe4
      [<c0431354>] init_module+0x354/0x6f8 [mtd_readtest]
      [<8010057c>] do_one_initcall+0x140/0x1a4
      [<80176d7c>] load_module+0x1b5c/0x2258
      [<8017752c>] SyS_init_module+0xb4/0xec
      [<8010f3fc>] stack_done+0x20/0x44
      
      BUG: using smp_processor_id() in preemptible [00000000] code: insmod/99
      </log>
      Signed-off-by: default avatarJerin Jacob <jerinjacobk@gmail.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/5800/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      d451e734
  2. 05 Sep, 2013 5 commits
  3. 04 Sep, 2013 13 commits
  4. 03 Sep, 2013 20 commits