1. 03 3月, 2011 34 次提交
  2. 02 3月, 2011 6 次提交
    • J
      ext2: Fix link count corruption under heavy link+rename load · e8a80c6f
      Josh Hunt 提交于
      vfs_rename_other() does not lock renamed inode with i_mutex. Thus changing
      i_nlink in a non-atomic manner (which happens in ext2_rename()) can corrupt
      it as reported and analyzed by Josh.
      
      In fact, there is no good reason to mess with i_nlink of the moved file.
      We did it presumably to simulate linking into the new directory and unlinking
      from an old one. But the practical effect of this is disputable because fsck
      can possibly treat file as being properly linked into both directories without
      writing any error which is confusing. So we just stop increment-decrement
      games with i_nlink which also fixes the corruption.
      
      CC: stable@kernel.org
      CC: Al Viro <viro@ZenIV.linux.org.uk>
      Signed-off-by: NJosh Hunt <johunt@akamai.com>
      Signed-off-by: NJan Kara <jack@suse.cz>
      e8a80c6f
    • V
      mfd: Avoid tps6586x burst writes · 4b57018d
      vwadekar@nvidia.com 提交于
      tps6586 does not support burst writes. i2c writes have to be
      1 byte at a time.
      
      Cc: stable@kernel.org
      Signed-off-by: NVarun Wadekar <vwadekar@nvidia.com>
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      4b57018d
    • M
      mfd: Don't suspend WM8994 if the CODEC is not suspended · 77bd70e9
      Mark Brown 提交于
      ASoC supports keeping the audio subsysetm active over suspend in order
      to support use cases such as audio passthrough from a cellular modem
      with the main CPU suspended. Ensure that we don't power down the CODEC
      when this is happening by checking to see if VMID is up and skipping
      suspend and resume when it is. If the CODEC has suspended then it'll
      turn VMID off before the core suspend() gets called.
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      77bd70e9
    • M
      mfd: Fix DaVinci voice codec device name · 73ee6524
      Manjunathappa, Prakash 提交于
      Fix the device name in DaVinci Voice Codec MFD driver to load
      davinci-vcif and cq93vc codec client drivers.
      Signed-off-by: NManjunathappa, Prakash <prakash.pm@ti.com>
      Acked-by: NLiam Girdwood <lrg@slimlogic.co.uk>
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      73ee6524
    • J
      mfd: Fix NULL pointer due to non-initialized ucb1x00-ts absinfo · 9063f1f1
      Jochen Friedrich 提交于
      Call input_set_abs_params instead of manually setting absbit only.
      This fixes this oops:
      
      Unable to handle kernel NULL pointer dereference at virtual address 00000024
      Internal error: Oops: 41b67017 [#1]
      CPU: 0    Not tainted  (2.6.37 #4)
      pc : [<c016d1fc>]    lr : [<00000000>]    psr: 20000093
      sp : c19e5f30  ip : c19e5e6c  fp : c19e5f58
      r10: 00000000  r9 : c19e4000  r8 : 00000003
      r7 : 000001e4  r6 : 00000001  r5 : c1854400  r4 : 00000003
      r3 : 00000018  r2 : 00000018  r1 : 00000018  r0 : c185447c
      Flags: nzCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
      Control: c1b6717f  Table: c1b6717f  DAC: 00000017
      Stack: (0xc19e5f30 to 0xc19e6000)
      5f20:                                     00000003 00000003 c1854400 00000013
      5f40: 00000001 000001e4 000001c5 c19e5f80 c19e5f5c c016d5e8 c016cf5c 000001e4
      5f60: c1854400 c18b5860 00000000 00000171 000001e4 c19e5fc4 c19e5f84 c01559a4
      5f80: c016d584 c18b5868 00000000 c1bb5c40 c0035afc c18b5868 c18b5868 c1a55d54
      5fa0: c18b5860 c0155750 00000013 00000000 00000000 00000000 c19e5ff4 c19e5fc8
      5fc0: c0050174 c015575c 00000000 c18b5860 00000000 c19e5fd4 c19e5fd4 c1a55d54
      5fe0: c00500f0 c003b464 00000000 c19e5ff8 c003b464 c00500fc 04000400 04000400
      Backtrace:
      Function entered at [<c016cf50>] from [<c016d5e8>]
      Function entered at [<c016d578>] from [<c01559a4>]
       r8:000001e4 r7:00000171 r6:00000000 r5:c18b5860 r4:c1854400
      Function entered at [<c0155750>] from [<c0050174>]
      Function entered at [<c00500f0>] from [<c003b464>]
       r6:c003b464 r5:c00500f0 r4:c1a55d54
      Code: e59520fc e1a03286 e0433186 e0822003 (e592000c)
      
      >>PC;  c016d1fc <input_handle_event+2ac/5a0>   <=====
      
      Trace; c016cf50 <input_handle_event+0/5a0>
      Trace; c016d5e8 <input_event+70/88>
      Trace; c016d578 <input_event+0/88>
      Trace; c01559a4 <ucb1x00_thread+254/2dc>
      Trace; c0155750 <ucb1x00_thread+0/2dc>
      Trace; c0050174 <kthread+84/8c>
      Trace; c00500f0 <kthread+0/8c>
      Trace; c003b464 <do_exit+0/624>
      Signed-off-by: NJochen Friedrich <jochen@scram.de>
      CC: stable@kernel.org
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      9063f1f1
    • L