1. 19 5月, 2011 1 次提交
  2. 31 3月, 2011 1 次提交
  3. 26 3月, 2011 1 次提交
  4. 17 12月, 2010 1 次提交
  5. 02 11月, 2010 1 次提交
  6. 23 10月, 2010 1 次提交
  7. 05 10月, 2010 1 次提交
  8. 05 8月, 2010 4 次提交
  9. 27 7月, 2010 1 次提交
  10. 06 7月, 2010 1 次提交
  11. 22 5月, 2010 2 次提交
  12. 27 2月, 2010 24 次提交
  13. 02 2月, 2010 1 次提交
    • M
      MIPS: Alchemy: Fix dbdma ring destruction memory debugcheck. · 22f4bb68
      Manuel Lauss 提交于
      DBDMA descriptors need to be located at 32-byte aligned addresses;
      however kmalloc in conjunction with the SLAB allocator and
      CONFIG_DEBUG_SLUB enabled doesn't deliver any.  The dbdma code works
      around that by allocating a larger area and realigning the start
      address within it.
      
      When freeing a channel however this adjustment is not taken into
      account which results in an oops:
      
      Kernel bug detected[#1]:
      [...]
      Call Trace:
      [<80186010>] cache_free_debugcheck+0x284/0x318
      [<801869d8>] kfree+0xe8/0x2a0
      [<8010b31c>] au1xxx_dbdma_chan_free+0x2c/0x7c
      [<80388dc8>] au1x_pcm_dbdma_free+0x34/0x4c
      [<80388fa8>] au1xpsc_pcm_close+0x28/0x38
      [<80383cb8>] soc_codec_close+0x14c/0x1cc
      [<8036dbb4>] snd_pcm_release_substream+0x60/0xac
      [<8036dc40>] snd_pcm_release+0x40/0xa0
      [<8018c7a8>] __fput+0x11c/0x228
      [<80188f60>] filp_close+0x7c/0x98
      [<80189018>] sys_close+0x9c/0xe4
      [<801022a0>] stack_done+0x20/0x3c
      
      Fix this by recording the address delivered by kmalloc() and using
      it as parameter to kfree().
      
      This fix is only necessary with the SLAB allocator and CONFIG_DEBUG_SLAB
      enabled;  non-debug SLAB, SLUB do return nicely aligned addresses,
      debug-enabled SLUB currently panics early in the boot process.
      Signed-off-by: NManuel Lauss <manuel.lauss@gmail.com>
      To: Linux-MIPS <linux-mips@linux-mips.org>
      Cc: Manuel Lauss <manuel.lauss@gmail.com>
      Patchwork: http://patchwork.linux-mips.org/patch/878/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      22f4bb68