Skip to content
  1. Aug 07, 2011
  2. Aug 06, 2011
    • Len Brown's avatar
      Merge branch 'battery' into release · 5389102e
      Len Brown authored
      5389102e
    • Sergey Senozhatsky's avatar
      Battery: sysfs_remove_battery(): possible circular locking · 69d94ec6
      Sergey Senozhatsky authored
      Commit 9c921c22
      Author: Lan Tianyu <tianyu.lan@intel.com>
      
          ACPI / Battery: Resolve the race condition in the sysfs_remove_battery()
      
      fixed BUG https://bugzilla.kernel.org/show_bug.cgi?id=35642
      
       , but as a side
      effect made lockdep unhappy with sysfs_remove_battery():
      
      [14818.477168]
      [14818.477170] =======================================================
      [14818.477200] [ INFO: possible circular locking dependency detected ]
      [14818.477221] 3.1.0-dbg-07865-g1280ea8-dirty #668
      [14818.477236] -------------------------------------------------------
      [14818.477257] s2ram/1599 is trying to acquire lock:
      [14818.477276]  (s_active#8){++++.+}, at: [<ffffffff81169147>] sysfs_addrm_finish+0x31/0x5a
      [14818.477323]
      [14818.477325] but task is already holding lock:
      [14818.477350]  (&battery->lock){+.+.+.}, at: [<ffffffffa0047278>] sysfs_remove_battery+0x10/0x4b [battery]
      [14818.477395]
      [14818.477397] which lock already depends on the new lock.
      [14818.477399]
      [..]
      [14818.479121] stack backtrace:
      [14818.479148] Pid: 1599, comm: s2ram Not tainted 3.1.0-dbg-07865-g1280ea8-dirty #668
      [14818.479175] Call Trace:
      [14818.479198]  [<ffffffff814828c3>] print_circular_bug+0x293/0x2a4
      [14818.479228]  [<ffffffff81070cb5>] __lock_acquire+0xfe4/0x164b
      [14818.479260]  [<ffffffff81169147>] ? sysfs_addrm_finish+0x31/0x5a
      [14818.479288]  [<ffffffff810718d2>] lock_acquire+0x138/0x1ac
      [14818.479316]  [<ffffffff81169147>] ? sysfs_addrm_finish+0x31/0x5a
      [14818.479345]  [<ffffffff81168a79>] sysfs_deactivate+0x9b/0xec
      [14818.479373]  [<ffffffff81169147>] ? sysfs_addrm_finish+0x31/0x5a
      [14818.479405]  [<ffffffff81169147>] sysfs_addrm_finish+0x31/0x5a
      [14818.479433]  [<ffffffff81167bc5>] sysfs_hash_and_remove+0x54/0x77
      [14818.479461]  [<ffffffff811681b9>] sysfs_remove_file+0x12/0x14
      [14818.479488]  [<ffffffff81385bf8>] device_remove_file+0x12/0x14
      [14818.479516]  [<ffffffff81386504>] device_del+0x119/0x17c
      [14818.479542]  [<ffffffff81386575>] device_unregister+0xe/0x1a
      [14818.479570]  [<ffffffff813c6ef9>] power_supply_unregister+0x23/0x27
      [14818.479601]  [<ffffffffa004729c>] sysfs_remove_battery+0x34/0x4b [battery]
      [14818.479632]  [<ffffffffa004778f>] battery_notify+0x2c/0x3a [battery]
      [14818.479662]  [<ffffffff8148fe82>] notifier_call_chain+0x74/0xa1
      [14818.479692]  [<ffffffff810624b4>] __blocking_notifier_call_chain+0x6c/0x89
      [14818.479722]  [<ffffffff810624e0>] blocking_notifier_call_chain+0xf/0x11
      [14818.479751]  [<ffffffff8107e40e>] pm_notifier_call_chain+0x15/0x27
      [14818.479770]  [<ffffffff8107ee1a>] enter_state+0xa7/0xd5
      [14818.479782]  [<ffffffff8107e341>] state_store+0xaa/0xc0
      [14818.479795]  [<ffffffff8107e297>] ? pm_async_store+0x45/0x45
      [14818.479807]  [<ffffffff81248837>] kobj_attr_store+0x17/0x19
      [14818.479820]  [<ffffffff81167e27>] sysfs_write_file+0x103/0x13f
      [14818.479834]  [<ffffffff81109037>] vfs_write+0xad/0x13d
      [14818.479847]  [<ffffffff811092b2>] sys_write+0x45/0x6c
      [14818.479860]  [<ffffffff81492f92>] system_call_fastpath+0x16/0x1b
      
      This patch introduces separate lock to struct acpi_battery to
      grab in sysfs_remove_battery() instead of battery->lock.
      So fix by Lan Tianyu is still there, we just grab independent lock.
      
      Signed-off-by: default avatarSergey Senozhatsky <sergey.senozhatsky@gmail.com>
      Tested-by: default avatarLan Tianyu <tianyu.lan@intel.com>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      69d94ec6
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 · de96355c
      Linus Torvalds authored
      * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (55 commits)
        Revert "drm/i915: Try enabling RC6 by default (again)"
        drm/radeon: Extended DDC Probing for ECS A740GM-M DVI-D Connector
        drm/radeon: Log Subsystem Vendor and Device Information
        drm/radeon: Extended DDC Probing for Connectors with Improperly Wired DDC Lines (here: Asus M2A-VM HDMI)
        drm: Separate EDID Header Check from EDID Block Check
        drm: Add NULL check about irq functions
        drm: Fix irq install error handling
        drm/radeon: fix potential NULL dereference in drivers/gpu/drm/radeon/atom.c
        drm/radeon: clean reg header files
        drm/debugfs: Initialise empty variable
        drm/radeon/kms: add thermal chip quirk for asus 9600xt
        drm/radeon: off by one in check_reg() functions
        drm/radeon/kms: fix version comment due to merge timing
        drm/i915: allow cache sharing policy control
        drm/i915/hdmi: HDMI source product description infoframe support
        drm/i915/hdmi: split infoframe setting from infoframe type code
        drm: track CEA version number if present
        drm/i915: Try enabling RC6 by default (again)
        Revert "drm/i915/dp: Zero the DPCD data before connection probe"
        drm/i915/dp: wait for previous AUX channel activity to clear
        ...
      de96355c
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 8cd290a0
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc: Size mondo queues more sanely.
        sparc: Access kernel TSB using physical addressing when possible.
        sparc: Fix __atomic_add_unless() return value.
        sparc: use kbuild-generic support for true asm-generic header files
        sparc: Use popc when possible for ffs/__ffs/ffz.
        sparc: Set reboot-cmd using reboot data hypervisor call if available.
        sparc: Add some missing hypervisor API groups.
        sparc: Use hweight64() in popc emulation.
        sparc: Use popc if possible for hweight routines.
        sparc: Minor tweaks to Niagara page copy/clear.
        sparc: Sanitize cpu feature detection and reporting.
      8cd290a0
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 07d952dc
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (54 commits)
        ipv6: check for IPv4 mapped addresses when connecting IPv6 sockets
        mlx4: decreasing ref count when removing mac
        net: Fix security_socket_sendmsg() bypass problem.
        net: Cap number of elements for sendmmsg
        net: sendmmsg should only return an error if no messages were sent
        ixgbe: fix PHY link setup for 82599
        ixgbe: fix __ixgbe_notify_dca() bail out code
        igb: fix WOL on second port of i350 device
        e1000e: minor re-order of #include files
        e1000e: remove unnecessary check for NULL pointer
        intel drivers: repair missing flush operations
        macb: restore wrap bit when performing underrun cleanup
        cdc_ncm: fix endianness problem.
        irda: use PCI_VENDOR_ID_*
        mlx4: Fixing Ethernet unicast packet steering
        net: fix NULL dereferences in check_peer_redir()
        bnx2x: Clear MDIO access warning during first driver load
        bnx2x: Fix BCM578xx MAC test
        bnx2x: Fix BCM54618se invalid link indication
        bnx2x: Fix BCM84833 link
        ...
      07d952dc
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide · 5fdb3247
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide:
        drivers/ide/cy82c693.c: Add missing pci_dev_put
        ide: Fix irq flags madness
      5fdb3247
  3. Aug 05, 2011
  4. Aug 04, 2011