1. 04 Mar, 2012 13 commits
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-domains' · 48ed0003
      Rafael J. Wysocki authored
      * pm-domains:
        PM / Domains: Fix include for PM_GENERIC_DOMAINS=n case
        PM / Domains: Provide a dummy dev_gpd_data() when generic domains are not used
        PM / Domains: Run late/early device suspend callbacks at the right time
        ARM: EXYNOS: Hook up power domains to generic power domain infrastructure
        PM / Domains: Add OF support
      48ed0003
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-sleep' · 643161ac
      Rafael J. Wysocki authored
      * pm-sleep:
        PM / Freezer: Remove references to TIF_FREEZE in comments
        PM / Sleep: Add more wakeup source initialization routines
        PM / Hibernate: Enable usermodehelpers in hibernate() error path
        PM / Sleep: Make __pm_stay_awake() delete wakeup source timers
        PM / Sleep: Fix race conditions related to wakeup source timer function
        PM / Sleep: Fix possible infinite loop during wakeup source destruction
        PM / Hibernate: print physical addresses consistently with other parts of kernel
        PM: Add comment describing relationships between PM callbacks to pm.h
        PM / Sleep: Drop suspend_stats_update()
        PM / Sleep: Make enter_state() in kernel/power/suspend.c static
        PM / Sleep: Unify kerneldoc comments in kernel/power/suspend.c
        PM / Sleep: Remove unnecessary label from suspend_freeze_processes()
        PM / Sleep: Do not check wakeup too often in try_to_freeze_tasks()
        PM / Sleep: Initialize wakeup source locks in wakeup_source_add()
        PM / Hibernate: Refactor and simplify freezer_test_done
        PM / Hibernate: Thaw kernel threads in hibernation_snapshot() in error/test path
        PM / Freezer / Docs: Document the beauty of freeze/thaw semantics
        PM / Suspend: Avoid code duplication in suspend statistics update
        PM / Sleep: Introduce generic callbacks for new device PM phases
        PM / Sleep: Introduce "late suspend" and "early resume" of devices
      643161ac
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-devfreq' · 743c5bc2
      Rafael J. Wysocki authored
      * pm-devfreq:
        PM / devfreq: add min/max_freq limit requested by users.
        PM / devfreq: fixed syntax errors.
        devfreq: Remove MODULE_ALIAS for exynos4 busfreq driver
        devfreq: exynos4_bus: Use dev_get_drvdata at appropriate places
      743c5bc2
    • Magnus Damm's avatar
      PM / Domains: Fix include for PM_GENERIC_DOMAINS=n case · b642631d
      Magnus Damm authored
      Fix pm_genpd_init() arguments and make sure dev_gpd_data() and
      simple_qos_governor exist regardless of CONFIG_PM_GENERIC_DOMAINS
      setting.
      Signed-off-by: default avatarMagnus Damm <damm@opensource.se>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      b642631d
    • Marcos Paulo de Souza's avatar
      PM / Freezer: Remove references to TIF_FREEZE in comments · 37f08be1
      Marcos Paulo de Souza authored
      This patch removes all the references in the code about the TIF_FREEZE
      flag removed by commit a3201227
      
          freezer: make freezing() test freeze conditions in effect instead of TIF_FREEZE
      
      There still are some references to TIF_FREEZE in
      Documentation/power/freezing-of-tasks.txt, but it looks like that
      documentation needs more thorough work to reflect how the new
      freezer works, and hence merely removing the references to TIF_FREEZE
      won't really help. So I have not touched that part in this patch.
      Suggested-by: default avatarSrivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
      Signed-off-by: default avatarMarcos Paulo de Souza <marcos.mage@gmail.com>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      37f08be1
    • Rafael J. Wysocki's avatar
      PM / Sleep: Add more wakeup source initialization routines · 8671bbc1
      Rafael J. Wysocki authored
      The existing wakeup source initialization routines are not
      particularly useful for wakeup sources that aren't created by
      wakeup_source_create(), because their users have to open code
      filling the objects with zeros and setting their names.  For this
      reason, introduce routines that can be used for initializing, for
      example, static wakeup source objects.
      Requested-by: default avatarArve Hjønnevåg <arve@android.com>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      8671bbc1
    • Srivatsa S. Bhat's avatar
      PM / Hibernate: Enable usermodehelpers in hibernate() error path · 05b4877f
      Srivatsa S. Bhat authored
      If create_basic_memory_bitmaps() fails, usermodehelpers are not re-enabled
      before returning. Fix this. And while at it, reword the goto labels so that
      they look more meaningful.
      Signed-off-by: default avatarSrivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      05b4877f
    • Rafael J. Wysocki's avatar
      PM / Sleep: Make __pm_stay_awake() delete wakeup source timers · 4782e165
      Rafael J. Wysocki authored
      If __pm_stay_awake() is called after __pm_wakeup_event() for the same
      wakep source object before its timer expires, it won't cancel the
      timer, so the wakeup source will be deactivated from the timer
      function as scheduled by __pm_wakeup_event().  In that case
      __pm_stay_awake() doesn't have any effect beyond incrementing
      the wakeup source's event_count field, although it should cancel
      the timer and make the wakeup source stay active until __pm_relax()
      is called for it.
      
      To fix this problem make __pm_stay_awake() delete the wakeup source's
      timer and ensure that it won't be deactivated from the timer funtion
      afterwards by clearing its timer_expires field.
      Reported-by: default avatarArve Hjønnevåg <arve@android.com>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      4782e165
    • Rafael J. Wysocki's avatar
      PM / Sleep: Fix race conditions related to wakeup source timer function · da863cdd
      Rafael J. Wysocki authored
      If __pm_wakeup_event() has been used (with a nonzero timeout) to
      report a wakeup event and then __pm_relax() immediately followed by
      __pm_stay_awake() is called or __pm_wakeup_event() is called once
      again for the same wakeup source object before its timer expires, the
      timer function pm_wakeup_timer_fn() may still be run as a result of
      the previous __pm_wakeup_event() call.  In either of those cases it
      may mistakenly deactivate the wakeup source that has just been
      activated.
      
      To prevent that from happening, make wakeup_source_deactivate()
      clear the wakeup source's timer_expires field and make
      pm_wakeup_timer_fn() check if timer_expires is different from zero
      and if it's not in future before calling wakeup_source_deactivate()
      (if timer_expires is 0, it means that the timer has just been
      deleted and if timer_expires is in future, it means that the timer
      has just been rescheduled to a different time).
      Reported-by: default avatarArve Hjønnevåg <arve@android.com>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      da863cdd
    • Rafael J. Wysocki's avatar
      PM / Sleep: Fix possible infinite loop during wakeup source destruction · d94aff87
      Rafael J. Wysocki authored
      If wakeup_source_destroy() is called for an active wakeup source that
      is never deactivated, it will spin forever.  To prevent that from
      happening, make wakeup_source_destroy() call __pm_relax() for the
      wakeup source object it is about to free instead of waiting until
      it will be deactivated by someone else.  However, for this to work
      it also needs to make sure that the timer function will not be
      executed after the final __pm_relax(), so make it run
      del_timer_sync() on the wakeup source's timer beforehand.
      
      Additionally, update the kerneldoc comment to document the
      requirement that __pm_stay_awake() and __pm_wakeup_event() must not
      be run in parallel with wakeup_source_destroy().
      Reported-by: default avatarArve Hjønnevåg <arve@android.com>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      d94aff87
    • Linus Torvalds's avatar
      Linux 3.3-rc6 · 192cfd58
      Linus Torvalds authored
      192cfd58
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 · 8482a0ab
      Linus Torvalds authored
      SCSI fixes from James Bottomley:
       "There's just a single fix in here: the osd max device number fix."
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
        [SCSI] osd_uld: Bump MAX_OSD_DEVICES from 64 to 1,048,576
      8482a0ab
    • Linus Torvalds's avatar
      Merge tag 'parisc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6 · 233ba2c5
      Linus Torvalds authored
      PARISC fixes from James Bottomley:
       "This is a set of build fixes to get the cross compiled architecture
        testbeds building again"
      
      * tag 'parisc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6:
        [PARISC] don't unconditionally override CROSS_COMPILE for 64 bit.
        [PARISC] include <linux/prefetch.h> in drivers/parisc/iommu-helpers.h
        [PARISC] fix compile break caused by iomap: make IOPORT/PCI mapping functions conditional
      233ba2c5
  2. 03 Mar, 2012 3 commits
  3. 02 Mar, 2012 20 commits
  4. 01 Mar, 2012 2 commits
    • Takashi Iwai's avatar
      Merge tag 'asoc-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus · b3999970
      Takashi Iwai authored
      A small fix for the SSI driver and a fix for system shutdown with modern
      devices.  Most of the modern devices will never get shut down normally
      with a visible kernel log as the systems they're in tend not to shut
      down often and when they do it's usually in form factors that don't have
      a user visible console.
      b3999970
    • Tejun Heo's avatar
      memblock: Fix size aligning of memblock_alloc_base_nid() · 847854f5
      Tejun Heo authored
      memblock allocator aligns @size to @align to reduce the amount
      of fragmentation.  Commit:
      
       7bd0b0f0 ("memblock: Reimplement memblock allocation using reverse free area iterator")
      
      Broke it by incorrectly relocating @size aligning to
      memblock_find_in_range_node().  As the aligned size is not
      propagated back to memblock_alloc_base_nid(), the actually
      reserved size isn't aligned.
      
      While this increases memory use for memblock reserved array,
      this shouldn't cause any critical failure; however, it seems
      that the size aligning was hiding a use-beyond-allocation bug in
      sparc64 and losing the aligning causes boot failure.
      
      The underlying problem is currently being debugged but this is a
      proper fix in itself, it's already pretty late in -rc cycle for
      boot failures and reverting the change for debugging isn't
      difficult. Restore the size aligning moving it to
      memblock_alloc_base_nid().
      Reported-by: default avatarMeelis Roos <mroos@linux.ee>
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: Rob Herring <rob.herring@calxeda.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Link: http://lkml.kernel.org/r/20120228205621.GC3252@dhcp-172-17-108-109.mtv.corp.google.comSigned-off-by: default avatarIngo Molnar <mingo@elte.hu>
      LKML-Reference: <alpine.SOC.1.00.1202130942030.1488@math.ut.ee>
      847854f5
  5. 29 Feb, 2012 2 commits
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://github.com/rustyrussell/linux · d7e53922
      Linus Torvalds authored
      Merge virtio pull request from Rusty Russell.
      
      * tag 'for-linus' of git://github.com/rustyrussell/linux:
        virtio: balloon: leak / fill balloon across S4
      d7e53922
    • Amit Shah's avatar
      virtio: balloon: leak / fill balloon across S4 · 4eb05d56
      Amit Shah authored
      commit e562966d added support for S4 to
      the balloon driver.  The freeze function did nothing to free the pages,
      since reclaiming the pages from the host to immediately give them back
      (if S4 was successful) seemed wasteful.  Also, if S4 wasn't successful,
      the guest would have to re-fill the balloon.  On restore, the pages were
      supposed to be marked freed and the free page counters were incremented
      to reflect the balloon was totally deflated.
      
      However, this wasn't done right.  The pages that were earlier taken away
      from the guest during a balloon inflation operation were just shown as
      used pages after a successful restore from S4.  Just a fancy way of
      leaking lots of memory.
      
      Instead of trying that, just leak the balloon on freeze and fill it on
      restore/thaw paths.  This works properly now.  The optimisation to not
      leak can be added later on after a bit of refactoring of the code.
      Signed-off-by: default avatarAmit Shah <amit.shah@redhat.com>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      4eb05d56