1. 12 5月, 2013 5 次提交
  2. 29 4月, 2013 1 次提交
    • R
      cpufreq: Revert incorrect commit 5800043b · 1c3d85dd
      Rafael J. Wysocki 提交于
      Commit 5800043b (cpufreq: convert cpufreq_driver to using RCU) causes
      the following call trace to be spit on boot:
      
       BUG: sleeping function called from invalid context at /scratch/rafael/work/linux-pm/mm/slab.c:3179
       in_atomic(): 0, irqs_disabled(): 0, pid: 292, name: systemd-udevd
       2 locks held by systemd-udevd/292:
        #0:  (subsys mutex){+.+.+.}, at: [<ffffffff8146851a>] subsys_interface_register+0x4a/0xe0
        #1:  (rcu_read_lock){.+.+.+}, at: [<ffffffff81538210>] cpufreq_add_dev_interface+0x60/0x5e0
       Pid: 292, comm: systemd-udevd Not tainted 3.9.0-rc8+ #323
       Call Trace:
        [<ffffffff81072c90>] __might_sleep+0x140/0x1f0
        [<ffffffff811581c2>] kmem_cache_alloc+0x42/0x2b0
        [<ffffffff811e7179>] sysfs_new_dirent+0x59/0x130
        [<ffffffff811e63cb>] sysfs_add_file_mode+0x6b/0x110
        [<ffffffff81538210>] ? cpufreq_add_dev_interface+0x60/0x5e0
        [<ffffffff810a3254>] ? __lock_is_held+0x54/0x80
        [<ffffffff811e647d>] sysfs_add_file+0xd/0x10
        [<ffffffff811e6541>] sysfs_create_file+0x21/0x30
        [<ffffffff81538280>] cpufreq_add_dev_interface+0xd0/0x5e0
        [<ffffffff81538210>] ? cpufreq_add_dev_interface+0x60/0x5e0
        [<ffffffffa000337f>] ? acpi_processor_get_platform_limit+0x32/0xbb [processor]
        [<ffffffffa022f540>] ? do_drv_write+0x70/0x70 [acpi_cpufreq]
        [<ffffffff810a3254>] ? __lock_is_held+0x54/0x80
        [<ffffffff8106c97e>] ? up_read+0x1e/0x40
        [<ffffffff8106e632>] ? __blocking_notifier_call_chain+0x72/0xc0
        [<ffffffff81538dbd>] cpufreq_add_dev+0x62d/0xae0
        [<ffffffff815389b8>] ? cpufreq_add_dev+0x228/0xae0
        [<ffffffff81468569>] subsys_interface_register+0x99/0xe0
        [<ffffffffa014d000>] ? 0xffffffffa014cfff
        [<ffffffff81535d5d>] cpufreq_register_driver+0x9d/0x200
        [<ffffffffa014d000>] ? 0xffffffffa014cfff
        [<ffffffffa014d0e9>] acpi_cpufreq_init+0xe9/0x1000 [acpi_cpufreq]
        [<ffffffff810002fa>] do_one_initcall+0x11a/0x170
        [<ffffffff810b4b87>] load_module+0x1cf7/0x2920
        [<ffffffff81322580>] ? ddebug_proc_open+0xb0/0xb0
        [<ffffffff816baee0>] ? retint_restore_args+0xe/0xe
        [<ffffffff810b5887>] sys_init_module+0xd7/0x120
        [<ffffffff816bb6d2>] system_call_fastpath+0x16/0x1b
      
      which is quite obvious, because that commit put (multiple instances
      of) sysfs_create_file() under rcu_read_lock()/rcu_read_unlock(),
      although sysfs_create_file() may cause memory to be allocated with
      GFP_KERNEL and that may sleep, which is not permitted in RCU read
      critical section.
      
      Revert the buggy commit altogether along with some changes on top
      of it.
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      1c3d85dd
  3. 26 4月, 2013 1 次提交
    • A
      cpufreq: pxa2xx: initialize variables · 7264a2bb
      Arnd Bergmann 提交于
      gcc-3.8 correctly found that the variables set by find_freq_tables()
      are not initialized if this function is called on something other
      than a pxa2xx or pxa3xx:
      
      pxa2xx-cpufreq.c: In function 'pxa_verify_policy':
      pxa2xx-cpufreq.c:272:6: warning: 'pxa_freqs_table' may be used uninitialized in this function [-Wmaybe-uninitialized]
      pxa2xx-cpufreq.c: In function 'pxa_set_target':
      pxa2xx-cpufreq.c:345:23: warning: 'pxa_freq_settings' may be used uninitialized in this function [-Wmaybe-uninitialized]
      
      Rather than adding a bogus initialization that would let us
      get a little further before crashing, add an explicit BUG().
      We know that this code is designed to run on only these cpus,
      so this will fix the build warning and give a more helpful
      diagnostic if the code ever changes to run on other machines.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      7264a2bb
  4. 24 4月, 2013 1 次提交
    • C
      ARM: S5pv210: compiling issue, ARM_S5PV210_CPUFREQ needs CONFIG_CPU_FREQ_TABLE=y · 5eed1987
      Chen Gang 提交于
      For arm S5pv210 with allmodconfig, ARM_S5PV210_CPUFREQ need
      CONFIG_CPU_FREQ_TABLE=y, or will cause compiling issue.
      
      The related operation:
      + arm-linux-gnu-ld -EL -p --no-undefined -X --build-id -X -o .tmp_vmlinux1 -T /root/linux-next/arch/arm/kernel/vmlinux.lds arch/arm/kernel/head.o init/built-in.o --start-group usr/built-in.o arch/arm/nwfpe/built-in.o arch/arm/vfp/built-in.o arch/arm/kernel/built-in.o arch/arm/mm/built-in.o arch/arm/common/built-in.o arch/arm/net/built-in.o arch/arm/crypto/built-in.o arch/arm/mach-s5pv210/built-in.o arch/arm/plat-samsung/built-in.o kernel/built-in.o mm/built-in.o fs/built-in.o ipc/built-in.o security/built-in.o crypto/built-in.o block/built-in.o arch/arm/lib/lib.a lib/lib.a arch/arm/lib/built-in.o lib/built-in.o drivers/built-in.o sound/built-in.o firmware/built-in.o net/built-in.o --end-group
      
      The related errors:
      drivers/built-in.o: In function `s5pv210_target':
      drivers/cpufreq/s5pv210-cpufreq.c:225: undefined reference to `cpufreq_frequency_table_target'
      drivers/cpufreq/s5pv210-cpufreq.c:237: undefined reference to `cpufreq_frequency_table_target'
      drivers/built-in.o: In function `s5pv210_verify_speed':
      drivers/cpufreq/s5pv210-cpufreq.c:182: undefined reference to `cpufreq_frequency_table_verify'
      drivers/built-in.o: In function `s5pv210_cpu_init':
      drivers/cpufreq/s5pv210-cpufreq.c:556: undefined reference to `cpufreq_frequency_table_get_attr'
      drivers/cpufreq/s5pv210-cpufreq.c:560: undefined reference to `cpufreq_frequency_table_cpuinfo'
      make: *** [vmlinux] Error 1
      Signed-off-by: NChen Gang <gang.chen@asianux.com>
      Acked-by: NViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      5eed1987
  5. 22 4月, 2013 5 次提交
  6. 12 4月, 2013 2 次提交
  7. 10 4月, 2013 17 次提交
  8. 09 4月, 2013 1 次提交
  9. 08 4月, 2013 6 次提交
  10. 02 4月, 2013 1 次提交