25 May, 2011

7 commits


20 May, 2011

15 commits


19 May, 2011

6 commits

  • Linus Torvalds
     
  • * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:
    configfs: Fix race between configfs_readdir() and configfs_d_iput()
    configfs: Don't try to d_delete() negative dentries.
    ocfs2/dlm: Target node death during resource migration leads to thread spin
    ocfs2: Skip mount recovery for hard-ro mounts
    ocfs2/cluster: Heartbeat mismatch message improved
    ocfs2/cluster: Increase the live threshold for global heartbeat
    ocfs2/dlm: Use negotiated o2dlm protocol version
    ocfs2: skip existing hole when removing the last extent_rec in punching-hole codes.
    ocfs2: Initialize data_ac (might be used uninitialized)

    Linus Torvalds
     
  • * 'devicetree/merge' of git://git.secretlab.ca/git/linux-2.6:
    drivercore: revert addition of of_match to struct device
    of: fix race when matching drivers

    Linus Torvalds
     
  • * 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus:
    MIPS: Kludge IP27 build for 2.6.39.
    MIPS: AR7: Fix GPIO register size for Titan variant.
    MIPS: Fix duplicate invocation of notify_die.
    MIPS: RB532: Fix iomap resource size miscalculation.

    Linus Torvalds
     
  • Commit b826291c, "drivercore/dt: add a match table pointer to struct
    device" added an of_match pointer to struct device to cache the
    of_match_table entry discovered at driver match time. This was unsafe
    because matching is not an atomic operation with probing a driver. If
    two or more drivers are attempted to be matched to a driver at the
    same time, then the cached matching entry pointer could get
    overwritten.

    This patch reverts the of_match cache pointer and reworks all users to
    call of_match_device() directly instead.

    Signed-off-by: Grant Likely

    Grant Likely
     
  • If two drivers are probing devices at the same time, both will write
    their match table result to the dev->of_match cache at the same time.

    Only write the result if the device matches.

    In a thread titled "SBus devices sometimes detected, sometimes not",
    Meelis reported his SBus hme was not detected about 50% of the time.
    From the debug suggested by Grant it was obvious another driver matched
    some devices between the call to match the hme and the hme discovery
    failling.

    Reported-by: Meelis Roos
    Signed-off-by: Milton Miller
    [grant.likely: modified to only call of_match_device() once]
    Signed-off-by: Grant Likely

    Milton Miller
     

18 May, 2011

12 commits