1. 29 6月, 2011 2 次提交
    • P
      i2c/pca954x: Initialize the mux to disconnected state · cd823db8
      Petri Gynther 提交于
      pca954x power-on default is channel 0 connected. If multiple pca954x
      muxes are connected to the same physical I2C bus, the parent bus will
      see channel 0 devices behind both muxes by default. This is bad.
      
      Scenario:
                  -- pca954x @ 0x70 -- ch 0 (I2C-bus-101) -- EEPROM @ 0x50
                  |
      I2C-bus-1 ---
                  |
                  -- pca954x @ 0x71 -- ch 0 (I2C-bus-111) -- EEPROM @ 0x50
      
      1. Load I2C bus driver: creates I2C-bus-1
      2. Load pca954x driver: creates virtual I2C-bus-101 and I2C-bus-111
      3. Load eeprom driver
      4. Try to read EEPROM @ 0x50 on I2C-bus-101. The transaction will also bleed
         onto I2C-bus-111 because pca954x @ 0x71 channel 0 is connected by default.
      
      Fix: Initialize pca954x to disconnected state in pca954x_probe()
      Signed-off-by: NPetri Gynther <pgynther@google.com>
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      Cc: stable@kernel.org
      cd823db8
    • J
      i2c-taos-evm: Fix log messages · 9b640f2e
      Jean Delvare 提交于
      * Print all error and information messages even when debugging is
        disabled.
      * Don't use adapter device to log messages before it is ready.
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      Cc: stable@kernel.org
      9b640f2e
  2. 28 6月, 2011 28 次提交
  3. 27 6月, 2011 5 次提交
    • L
      Merge branch 'fixes' of master.kernel.org:/home/rmk/linux-2.6-arm · edcda265
      Linus Torvalds 提交于
      * 'fixes' of master.kernel.org:/home/rmk/linux-2.6-arm:
        ARM: pm: ensure ARMv7 CPUs save and restore the TLS register
        ARM: pm: proc-v7: fix missing struct processor pointers for suspend code
        ARM: 6969/1: plat-iop: fix build error
        ARM: 6961/1: zImage: Add build-time check for correctly-sized proc_type entries
        ARM: SMP: wait for CPU to be marked active
        ARM: 6963/1: Thumb-2: Relax relocation requirements for non-function symbols
        ARM: 6962/1: mach-h720x: fix build error
        ARM: 6959/1: SMP build fix for entry-macro-multi.S
      edcda265
    • L
      Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 · 9c317b3b
      Linus Torvalds 提交于
      * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
        [S390] allow setting of upper 32 bit in smp_ctl_set_bit
        [S390] hwsampler: Set a sane default sampling rate
        [S390] s390: enforce HW limits for the initial sampling rate
        [S390] kvm-s390: fix kconfig dependencies
      9c317b3b
    • M
      btrfs: fix inconsonant inode information · 2f7e33d4
      Miao Xie 提交于
      When iputting the inode, We may leave the delayed nodes if they have some
      delayed items that have not been dealt with. So when the inode is read again,
      we must look up the relative delayed node, and use the information in it to
      initialize the inode. Or we will get inconsonant inode information, it may
      cause that the same directory index number is allocated again, and hit the
      following oops:
      
      [ 5447.554187] err add delayed dir index item(name: pglog_0.965_0) into the
      insertion tree of the delayed node(root id: 262, inode id: 258, errno: -17)
      [ 5447.569766] ------------[ cut here ]------------
      [ 5447.575361] kernel BUG at fs/btrfs/delayed-inode.c:1301!
      [SNIP]
      [ 5447.790721] Call Trace:
      [ 5447.793191]  [<ffffffffa0641c4e>] btrfs_insert_dir_item+0x189/0x1bb [btrfs]
      [ 5447.800156]  [<ffffffffa0651a45>] btrfs_add_link+0x12b/0x191 [btrfs]
      [ 5447.806517]  [<ffffffffa0651adc>] btrfs_add_nondir+0x31/0x58 [btrfs]
      [ 5447.812876]  [<ffffffffa0651d6a>] btrfs_create+0xf9/0x197 [btrfs]
      [ 5447.818961]  [<ffffffff8111f840>] vfs_create+0x72/0x92
      [ 5447.824090]  [<ffffffff8111fa8c>] do_last+0x22c/0x40b
      [ 5447.829133]  [<ffffffff8112076a>] path_openat+0xc0/0x2ef
      [ 5447.834438]  [<ffffffff810c58e2>] ? __perf_event_task_sched_out+0x24/0x44
      [ 5447.841216]  [<ffffffff8103ecdd>] ? perf_event_task_sched_out+0x59/0x67
      [ 5447.847846]  [<ffffffff81121a79>] do_filp_open+0x3d/0x87
      [ 5447.853156]  [<ffffffff811e126c>] ? strncpy_from_user+0x43/0x4d
      [ 5447.859072]  [<ffffffff8111f1f5>] ? getname_flags+0x2e/0x80
      [ 5447.864636]  [<ffffffff8111f179>] ? do_getname+0x14b/0x173
      [ 5447.870112]  [<ffffffff8111f1b7>] ? audit_getname+0x16/0x26
      [ 5447.875682]  [<ffffffff8112b1ab>] ? spin_lock+0xe/0x10
      [ 5447.880882]  [<ffffffff81112d39>] do_sys_open+0x69/0xae
      [ 5447.886153]  [<ffffffff81112db1>] sys_open+0x20/0x22
      [ 5447.891114]  [<ffffffff813b9aab>] system_call_fastpath+0x16/0x1b
      
      Fix it by reusing the old delayed node.
      Reported-by: NJim Schutt <jaschut@sandia.gov>
      Signed-off-by: NMiao Xie <miaox@cn.fujitsu.com>
      Tested-by: NJim Schutt <jaschut@sandia.gov>
      Signed-off-by: NChris Mason <chris.mason@oracle.com>
      2f7e33d4
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 · 258e43fd
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
        cifs: mark CONFIG_CIFS_NFSD_EXPORT as BROKEN
        cifs: free blkcipher in smbhash
      258e43fd
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 · 804a007f
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
        cifs: propagate errors from cifs_get_root() to mount(2)
        cifs: tidy cifs_do_mount() up a bit
        cifs: more breakage on mount failures
        cifs: close sget() races
        cifs: pull freeing mountdata/dropping nls/freeing cifs_sb into cifs_umount()
        cifs: move cifs_umount() call into ->kill_sb()
        cifs: pull cifs_mount() call up
        sanitize cifs_umount() prototype
        cifs: initialize ->tlink_tree in cifs_setup_cifs_sb()
        cifs: allocate mountdata earlier
        cifs: leak on mount if we share superblock
        cifs: don't pass superblock to cifs_mount()
        cifs: don't leak nls on mount failure
        cifs: double free on mount failure
        take bdi setup/destruction into cifs_mount/cifs_umount
      Acked-by: NSteve French <smfrench@gmail.com>
      804a007f
  4. 26 6月, 2011 5 次提交