1. 27 Jun, 2013 2 commits
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpufreq-assorted' into pm-cpufreq · 39a95f48
      Rafael J. Wysocki authored
      * pm-cpufreq-assorted: (21 commits)
        cpufreq: powernow-k8: call CPUFREQ_POSTCHANGE notfier in error cases
        cpufreq: pcc: call CPUFREQ_POSTCHANGE notfier in error cases
        cpufreq: e_powersaver: call CPUFREQ_POSTCHANGE notfier in error cases
        cpufreq: ACPI: call CPUFREQ_POSTCHANGE notfier in error cases
        cpufreq: make __cpufreq_notify_transition() static
        cpufreq: Fix minor formatting issues
        cpufreq: Fix governor start/stop race condition
        cpufreq: Simplify userspace governor
        cpufreq: powerpc: move cpufreq driver to drivers/cpufreq
        cpufreq: kirkwood: Select CPU_FREQ_TABLE option
        cpufreq: big.LITTLE needs cpufreq table
        cpufreq: SPEAr needs cpufreq table
        cpufreq: powerpc: Add cpufreq driver for Freescale e500mc SoCs
        cpufreq: remove unnecessary cpufreq_cpu_{get|put}() calls
        cpufreq: MAINTAINERS: Add git tree path for ARM specific updates
        cpufreq: rename index as driver_data in cpufreq_frequency_table
        cpufreq: Don't create empty /sys/devices/system/cpu/cpufreq directory
        cpufreq: Move get_cpu_idle_time() to cpufreq.c
        cpufreq: governors: Move get_governor_parent_kobj() to cpufreq.c
        cpufreq: Add EXPORT_SYMBOL_GPL for have_governor_per_policy
        ...
      39a95f48
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpufreq-Kconfig' into pm-cpufreq · 7ae9b27b
      Rafael J. Wysocki authored
      * pm-cpufreq-Kconfig:
        cpufreq: X86_AMD_FREQ_SENSITIVITY: select CPU_FREQ_TABLE
        cpufreq: tegra: create CONFIG_ARM_TEGRA_CPUFREQ
        cpufreq: S3C2416/S3C64XX: select CPU_FREQ_TABLE
        cpufreq: pxa: select CPU_FREQ_TABLE
        cpufreq: powerpc: CBE_RAS: select CPU_FREQ_TABLE
        cpufreq: imx: select CPU_FREQ_TABLE
        cpufreq: highbank: remove select CPU_FREQ_TABLE
        cpufreq: exynos: select CPU_FREQ_TABLE
        cpufreq: davinci: select CPU_FREQ_TABLE
        cpufreq: cris: select CPU_FREQ_TABLE
        cpufreq: blackfin: enable driver for CONFIG_BFIN_CPU_FREQ
      7ae9b27b
  2. 24 Jun, 2013 4 commits
  3. 22 Jun, 2013 9 commits
  4. 21 Jun, 2013 8 commits
  5. 20 Jun, 2013 17 commits
    • Nicholas Bellinger's avatar
    • Andy Grover's avatar
      target/iscsi: Fix op=disable + error handling cases in np_store_iser · 58bd0c69
      Andy Grover authored
      Writing 0 when iser was not previously enabled, so succeed but do
      nothing so that user-space code doesn't need a try: catch block
      when ib_isert logic is not available.
      
      Also, return actual error from add_network_portal using PTR_ERR
      during op=enable failure.
      Signed-off-by: default avatarAndy Grover <agrover@redhat.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      58bd0c69
    • Viresh Kumar's avatar
      cpufreq: make __cpufreq_notify_transition() static · 0956df9c
      Viresh Kumar authored
      __cpufreq_notify_transition() is used only in cpufreq.c,
      make it static.
      Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      0956df9c
    • Viresh Kumar's avatar
      cpufreq: Fix minor formatting issues · bb176f7d
      Viresh Kumar authored
      There were a few noticeable formatting issues in core cpufreq code.
      This cleans them up to make code look better.  The changes include:
       - Whitespace cleanup.
       - Rearrangements of code.
       - Multiline comments fixes.
       - Formatting changes to fit 80 columns.
      
      Copyright information in cpufreq.c is also updated to include my name
      for 2013.
      
      [rjw: Changelog]
      Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      bb176f7d
    • Xiaoguang Chen's avatar
      cpufreq: Fix governor start/stop race condition · 95731ebb
      Xiaoguang Chen authored
      Cpufreq governors' stop and start operations should be carried out
      in sequence.  Otherwise, there will be unexpected behavior, like in
      the example below.
      
      Suppose there are 4 CPUs and policy->cpu=CPU0, CPU1/2/3 are linked
      to CPU0.  The normal sequence is:
      
       1) Current governor is userspace.  An application tries to set the
          governor to ondemand.  It will call __cpufreq_set_policy() in
          which it will stop the userspace governor and then start the
          ondemand governor.
      
       2) Current governor is userspace.  The online of CPU3 runs on CPU0.
          It will call cpufreq_add_policy_cpu() in which it will first
          stop the userspace governor, and then start it again.
      
      If the sequence of the above two cases interleaves, it becomes:
      
       1) Application stops userspace governor
       2)                                  Hotplug stops userspace governor
      
      which is a problem, because the governor shouldn't be stopped twice
      in a row.  What happens next is:
      
       3) Application starts ondemand governor
       4)                                  Hotplug starts a governor
      
      In step 4, the hotplug is supposed to start the userspace governor,
      but now the governor has been changed by the application to ondemand,
      so the ondemand governor is started once again, which is incorrect.
      
      The solution is to prevent policy governors from being stopped
      multiple times in a row.  A governor should only be stopped once for
      one policy.  After it has been stopped, no more governor stop
      operations should be executed.
      
      Also add a mutex to serialize governor operations.
      
      [rjw: Changelog.  And you owe me a beverage of my choice.]
      Signed-off-by: default avatarXiaoguang Chen <chenxg@marvell.com>
      Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      95731ebb
    • Dave Airlie's avatar
      Merge branch 'drm-fixes-3.10' of git://people.freedesktop.org/~agd5f/linux into drm-fixes · 9aa36876
      Dave Airlie authored
      One user visible fix to stop misreport GPU hangs and subsequent resets.
      * 'drm-fixes-3.10' of git://people.freedesktop.org/~agd5f/linux:
        drm/radeon: update lockup tracking when scheduling in empty ring
      9aa36876
    • Jerome Glisse's avatar
      drm/radeon: update lockup tracking when scheduling in empty ring · 8444d5c6
      Jerome Glisse authored
      There might be issue with lockup detection when scheduling on an
      empty ring that have been sitting idle for a while. Thus update
      the lockup tracking data when scheduling new work in an empty ring.
      Signed-off-by: default avatarJerome Glisse <jglisse@redhat.com>
      Tested-by: default avatarAndy Lutomirski <luto@amacapital.net>
      Cc: stable@vger.kernel.org
      Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      8444d5c6
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a3d5c346
      Linus Torvalds authored
      Pull scheduler fixes from Ingo Molnar:
       "Two smaller fixes - plus a context tracking tracing fix that is a bit
        bigger"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        tracing/context-tracking: Add preempt_schedule_context() for tracing
        sched: Fix clear NOHZ_BALANCE_KICK
        sched/x86: Construct all sibling maps if smt
      a3d5c346
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 86c76676
      Linus Torvalds authored
      Pull perf fixes from Ingo Molnar:
       "Four fixes.  The mmap ones are unfortunately larger than desired -
        fuzzing uncovered bugs that needed perf context life time management
        changes to fix properly"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86: Fix broken PEBS-LL support on SNB-EP/IVB-EP
        perf: Fix mmap() accounting hole
        perf: Fix perf mmap bugs
        kprobes: Fix to free gone and unused optprobes
      86c76676
    • Linus Torvalds's avatar
      Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 805e3185
      Linus Torvalds authored
      Pull cpu idle fixes from Thomas Gleixner:
       - Add a missing irq enable. Fallout of the idle conversion
       - Fix stackprotector wreckage caused by the idle conversion
      
      * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        idle: Enable interrupts in the weak arch_cpu_idle() implementation
        idle: Add the stack canary init to cpu_startup_entry()
      805e3185
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4db88eb4
      Linus Torvalds authored
      Pull timer fixes from Thomas Gleixner:
       - Fix inconstinant clock usage in virtual time accounting
       - Fix a build error in KVM caused by the NOHZ work
       - Remove a pointless timekeeping duty assignment which breaks NOHZ
       - Use a proper notifier return value to avoid random behaviour
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        tick: Remove useless timekeeping duty attribution to broadcast source
        nohz: Fix notifier return val that enforce timekeeping
        kvm: Move guest entry/exit APIs to context_tracking
        vtime: Use consistent clocks among nohz accounting
      4db88eb4
    • Linus Torvalds's avatar
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 53d5defc
      Linus Torvalds authored
      Pull powerpc fix fro, Benjamin Herrenschmidt:
       "We accidentally broke hugetlbfs on Freescale embedded processors which
        use a slightly different page table layout than our server processors"
      
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        powerpc: Fix bad pmd error with book3E config
      53d5defc
    • Linus Torvalds's avatar
      Merge branch 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile · f92d0dc9
      Linus Torvalds authored
      Pull tilepro fix from Chris Metcalf:
       "This change allows the older tilepro architecture to be correctly
        built by newer gccs, despite a change that caused gcc to start trying
        to use an out-of-line implementation for __builtin_ffsll().
      
        This should be inline again starting with gcc 4.7.4 and 4.8.2 or so,
        but meanwhile this change keeps things from breaking, with the only
        cost being a few bytes of code in the kernel to provide __ffsdi2 even
        for compilers that do inline it"
      
      * 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
        tilepro: work around module link error with gcc 4.7
      f92d0dc9
    • Linus Torvalds's avatar
      Merge tag 'arm64-stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64 · fd58b517
      Linus Torvalds authored
      Pull arm64 perf fix from Catalin Marinas:
       "Perf fix (user-mode PC recording)"
      
      * tag 'arm64-stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64:
        perf: arm64: Record the user-mode PC in the call chain.
      fd58b517
    • Al Viro's avatar
      7995bd28
    • Mauro Carvalho Chehab's avatar
      [media] Fix build when drivers are builtin and frontend modules · bb69ee27
      Mauro Carvalho Chehab authored
      There are a large number of reports that the media build is
      not compiling when some drivers are compiled as builtin, while
      the needed frontends are compiled as module.
      
      On the last one of such reports:
      	From: kbuild test robot <fengguang.wu@intel.com>
      	Subject: saa7134-dvb.c:undefined reference to `zl10039_attach'
      
      The .config file has:
      
      	CONFIG_VIDEO_SAA7134=y
      	CONFIG_VIDEO_SAA7134_DVB=y
      	# CONFIG_MEDIA_ATTACH is not set
      	CONFIG_DVB_ZL10039=m
      
      And it produces all those errors:
      
         drivers/built-in.o: In function `set_type':
         tuner-core.c:(.text+0x2f263e): undefined reference to `tea5767_attach'
         tuner-core.c:(.text+0x2f273e): undefined reference to `tda9887_attach'
         drivers/built-in.o: In function `tuner_probe':
         tuner-core.c:(.text+0x2f2d20): undefined reference to `tea5767_autodetection'
         drivers/built-in.o: In function `av7110_attach':
         av7110.c:(.text+0x330bda): undefined reference to `ves1x93_attach'
         av7110.c:(.text+0x330bf7): undefined reference to `stv0299_attach'
         av7110.c:(.text+0x330c63): undefined reference to `tda8083_attach'
         av7110.c:(.text+0x330d09): undefined reference to `ves1x93_attach'
         av7110.c:(.text+0x330d33): undefined reference to `tda8083_attach'
         av7110.c:(.text+0x330d5d): undefined reference to `stv0297_attach'
         av7110.c:(.text+0x330dbe): undefined reference to `stv0299_attach'
         drivers/built-in.o: In function `tuner_attach_dtt7520x':
         ngene-cards.c:(.text+0x3381cb): undefined reference to `dvb_pll_attach'
         drivers/built-in.o: In function `demod_attach_lg330x':
         ngene-cards.c:(.text+0x33828a): undefined reference to `lgdt330x_attach'
         drivers/built-in.o: In function `demod_attach_stv0900':
         ngene-cards.c:(.text+0x3383d5): undefined reference to `stv090x_attach'
         drivers/built-in.o: In function `cineS2_probe':
         ngene-cards.c:(.text+0x338b7f): undefined reference to `drxk_attach'
         drivers/built-in.o: In function `configure_tda827x_fe':
         saa7134-dvb.c:(.text+0x346ae7): undefined reference to `tda10046_attach'
         drivers/built-in.o: In function `dvb_init':
         saa7134-dvb.c:(.text+0x347283): undefined reference to `mt352_attach'
         saa7134-dvb.c:(.text+0x3472cd): undefined reference to `mt352_attach'
         saa7134-dvb.c:(.text+0x34731c): undefined reference to `tda10046_attach'
         saa7134-dvb.c:(.text+0x34733c): undefined reference to `tda10046_attach'
         saa7134-dvb.c:(.text+0x34735c): undefined reference to `tda10046_attach'
         saa7134-dvb.c:(.text+0x347378): undefined reference to `tda10046_attach'
         saa7134-dvb.c:(.text+0x3473db): undefined reference to `tda10046_attach'
         drivers/built-in.o:saa7134-dvb.c:(.text+0x347502): more undefined references to `tda10046_attach' follow
         drivers/built-in.o: In function `dvb_init':
         saa7134-dvb.c:(.text+0x347812): undefined reference to `mt352_attach'
         saa7134-dvb.c:(.text+0x347951): undefined reference to `mt312_attach'
         saa7134-dvb.c:(.text+0x3479a9): undefined reference to `mt312_attach'
      >> saa7134-dvb.c:(.text+0x3479c1): undefined reference to `zl10039_attach'
      
      This is happening because a builtin module can't use directly a symbol
      found on a module. By enabling CONFIG_MEDIA_ATTACH, the configuration
      becomes valid, as dvb_attach() macro loads the module if needed, making
      the symbol available to the builtin module.
      
      While this bug started to appear after the patches that use IS_DEFINED
      macro (like changeset 7b34be71), this
      bug is a way ancient than that.
      
      The thing is that, before the IS_DEFINED() patches, the logic used to be:
      
             && defined(MODULE))
      struct dvb_frontend *zl10039_attach(struct dvb_frontend *fe,
      					u8 i2c_addr,
      					struct i2c_adapter *i2c);
      static inline struct dvb_frontend *zl10039_attach(struct dvb_frontend *fe,
      					u8 i2c_addr,
      					struct i2c_adapter *i2c)
      {
      	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
      	return NULL;
      }
      
      The above code, with the .config file used, was evoluting to FALSE
      (instead of TRUE as it should be, as CONFIG_DVB_ZL10039 is 'm'),
      and were adding the static inline code at saa7134-dvb, instead
      of the external call. So, while it weren't producing any compilation
      error, the code weren't working either.
      
      So, as the overhead for using CONFIG_MEDIA_ATTACH is minimal, just
      enable it, if MODULES is defined.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      bb69ee27
    • Shawn Guo's avatar
      irqchip: gic: call gic_cpu_init() as well in CPU_STARTING_FROZEN case · 8b6fd652
      Shawn Guo authored
      Commit c0114709 (irqchip: gic: Perform the gic_secondary_init() call via
      CPU notifier) moves gic_secondary_init() that used to be called in
      .smp_secondary_init hook into a notifier call.  But it changes the
      system behavior a little bit.  Before the commit, gic_cpu_init()
      is called not only when kernel brings up the secondary cores but also
      when system resuming procedure hot-plugs the cores back to kernel.
      While after the commit, the function will not be called in the latter
      case, where the 'action' will not be CPU_STARTING but
      CPU_STARTING_FROZEN.  This behavior difference at least causes the
      following suspend/resume regression on imx6q.
      
      $ echo mem > /sys/power/state
      PM: Syncing filesystems ... done.
      PM: Preparing system for mem sleep
      mmc1: card e624 removed
      Freezing user space processes ... (elapsed 0.01 seconds) done.
      Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
      PM: Entering mem sleep
      PM: suspend of devices complete after 5.930 msecs
      PM: suspend devices took 0.010 seconds
      PM: late suspend of devices complete after 0.343 msecs
      PM: noirq suspend of devices complete after 0.828 msecs
      Disabling non-boot CPUs ...
      CPU1: shutdown
      CPU2: shutdown
      CPU3: shutdown
      Enabling non-boot CPUs ...
      CPU1: Booted secondary processor
      INFO: rcu_sched detected stalls on CPUs/tasks: { 1 2 3} (detected by 0, t=2102 jiffies, g=4294967169, c=4294967168, q=17)
      Task dump for CPU 1:
      swapper/1       R running      0     0      1 0x00000000
      Backtrace:
      [<bf895ff4>] (0xbf895ff4) from [<00000000>] (  (null))
      Backtrace aborted due to bad frame pointer <8007ccdc>
      Task dump for CPU 2:
      swapper/2       R running      0     0      1 0x00000000
      Backtrace:
      [<8075dbdc>] (0x8075dbdc) from [<00000000>] (  (null))
      Backtrace aborted due to bad frame pointer <00000002>
      Task dump for CPU 3:
      swapper/3       R running      0     0      1 0x00000000
      Backtrace:
      [<8075dbdc>] (0x8075dbdc) from [<00000000>] (  (null))
      
      Fix the regression by checking 'action' being CPU_STARTING_FROZEN to
      have gic_cpu_init() called for secondary cores when system resumes.
      Signed-off-by: default avatarShawn Guo <shawn.guo@linaro.org>
      Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Tested-by: default avatarJoseph Lo <josephl@nvidia.com>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      8b6fd652