Skip to content
  1. Aug 06, 2011
    • Kevin Hilman's avatar
      PM / Runtime: Allow _put_sync() from interrupts-disabled context · 02b26774
      Kevin Hilman authored
      
      
      Currently the use of pm_runtime_put_sync() is not safe from
      interrupts-disabled context because rpm_idle() will release the
      spinlock and enable interrupts for the idle callbacks.  This enables
      interrupts during a time where interrupts were expected to be
      disabled, and can have strange side effects on drivers that expected
      interrupts to be disabled.
      
      This is not a bug since the documentation clearly states that only
      _put_sync_suspend() is safe in IRQ-safe mode.
      
      However, pm_runtime_put_sync() could be made safe when in IRQ-safe
      mode by releasing the spinlock but not re-enabling interrupts, which
      is what this patch aims to do.
      
      Problem was found when using some buggy drivers that set
      pm_runtime_irq_safe() and used _put_sync() in interrupts-disabled
      context.
      
      Reported-by: default avatarColin Cross <ccross@google.com>
      Tested-by: default avatarNishanth Menon <nm@ti.com>
      Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      02b26774
    • Rafael J. Wysocki's avatar
      PM / Domains: Fix pm_genpd_poweron() · fe202fde
      Rafael J. Wysocki authored
      
      
      The local variable ret is defined twice in pm_genpd_poweron(), which
      causes this function to always return 0, even if the PM domain's
      .power_on() callback fails, in which case an error code should be
      returned.
      
      Remove the wrong second definition of ret and additionally remove an
      unnecessary definition of wait from pm_genpd_poweron().
      
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      fe202fde
    • 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
  2. Aug 05, 2011
  3. Aug 04, 2011