1. Dec 22, 2011
  2. Dec 19, 2011
  3. Dec 12, 2011
  4. Dec 06, 2011
  5. Dec 02, 2011
  6. Dec 01, 2011
  7. Nov 29, 2011
  8. Nov 28, 2011
  9. Nov 24, 2011
  10. Nov 23, 2011
    • Eric Miao's avatar
      ASoC: skip resume of soc-audio devices without codecs · 5ff1ddf2
      Eric Miao authored
      
      
      There are cases where there is no working codec on the soc-audio devices,
      and snd_soc_suspend() will skip such device when suspending. Yet its
      counterpart snd_soc_resume() does not check this, causing complaints
      about spinlock lockup:
      
      [  176.726087] BUG: spinlock lockup on CPU#0, kworker/0:2/1067, d8ab82a8
      [  176.732539] [<80014a14>] (unwind_backtrace+0x0/0xec) from [<805b3fc8>] (dump_stack+0x20/0x24)
      [  176.741082] [<805b3fc8>] (dump_stack+0x20/0x24) from [<80322208>] (do_raw_spin_lock+0x118/0x158)
      [  176.749882] [<80322208>] (do_raw_spin_lock+0x118/0x158) from [<805b7874>] (_raw_spin_lock_irqsave+0x5c/0x68)
      [  176.759723] [<805b7874>] (_raw_spin_lock_irqsave+0x5c/0x68) from [<8002a020>] (__wake_up+0x2c/0x5c)
      [  176.768781] [<8002a020>] (__wake_up+0x2c/0x5c) from [<804a6de8>] (soc_resume_deferred+0x3c/0x2b0)
      [  176.777666] [<804a6de8>] (soc_resume_deferred+0x3c/0x2b0) from [<8004ee20>] (process_one_work+0x2e8/0x50c)
      [  176.787334] [<8004ee20>] (process_one_work+0x2e8/0x50c) from [<8004fd08>] (worker_thread+0x1c8/0x2e0)
      [  176.796566] [<8004fd08>] (worker_thread+0x1c8/0x2e0) from [<80053ec8>] (kthread+0xa4/0xb0)
      [  176.804843] [<80053ec8>] (kthread+0xa4/0xb0) from [<8000ea70>] (kernel_thread_exit+0x0/0x8)
      
      Signed-off-by: default avatarEric Miao <eric.miao@linaro.org>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      5ff1ddf2
    • Axel Lin's avatar
      ASoC: cs42l51: Fix off-by-one for reg_cache_size · b284362b
      Axel Lin authored
      
      
      Just checking the code in cs42l51_fill_cache():
      The cache pointer points to codec->reg_cache + 1.
      I think it is because CS42L51_FIRSTREG is 0x01,
      so codec->reg_cache[0] is not used here.
      
      Then we read CS42L51_NUMREGS bytes to cache.
      So we need reg_cache_size to be CS42L51_NUMREGS + 1.
      
      Signed-off-by: default avatarAxel Lin <axel.lin@gmail.com>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      b284362b