1. 03 Mar, 2011 6 commits
  2. 02 Mar, 2011 29 commits
  3. 01 Mar, 2011 5 commits
    • Naga Chumbalkar's avatar
      [CPUFREQ] p4-clockmod: print EST-capable warning message only once · 853cee26
      Naga Chumbalkar authored
      Print the message only once. I see it 16 times on a 2P box with 16 logical CPUs.
      Signed-off-by: default avatarNaga Chumbalkar <nagananda.chumbalkar@hp.com>
      853cee26
    • Jiri Slaby's avatar
      [CPUFREQ] fix BUG on cpufreq policy init failure · 8f5bc2ab
      Jiri Slaby authored
      cpufreq_register_driver sets cpufreq_driver to a structure owned (and
      placed) in the caller's memory. If cpufreq policy fails in its ->init
      function, sysdev_driver_register returns nonzero in
      cpufreq_register_driver. Now, cpufreq_register_driver returns an error
      without setting cpufreq_driver back to NULL.
      
      Usually cpufreq policy modules are unloaded because they propagate the
      error to the module init function and return that.
      
      So a later access to any member of cpufreq_driver causes bugs like:
      BUG: unable to handle kernel paging request at ffffffffa00270a0
      IP: [<ffffffff8145eca3>] cpufreq_cpu_get+0x53/0xe0
      PGD 1805067 PUD 1809063 PMD 1c3f90067 PTE 0
      Oops: 0000 [#1] SMP
      last sysfs file: /sys/devices/virtual/net/tun0/statistics/collisions
      CPU 0
      Modules linked in: ...
      Pid: 5677, comm: thunderbird-bin Tainted: G        W   2.6.38-rc4-mm1_64+ #1389 To be filled by O.E.M./To Be Filled By O.E.M.
      RIP: 0010:[<ffffffff8145eca3>]  [<ffffffff8145eca3>] cpufreq_cpu_get+0x53/0xe0
      RSP: 0018:ffff8801aec37d98  EFLAGS: 00010086
      RAX: 0000000000000202 RBX: 0000000000000000 RCX: 0000000000000001
      RDX: ffffffffa00270a0 RSI: 0000000000001000 RDI: ffffffff8199ece8
      ...
      Call Trace:
       [<ffffffff8145f490>] cpufreq_quick_get+0x10/0x30
       [<ffffffff8103f12b>] show_cpuinfo+0x2ab/0x300
       [<ffffffff81136292>] seq_read+0xf2/0x3f0
       [<ffffffff8126c5d3>] ? __strncpy_from_user+0x33/0x60
       [<ffffffff8116850d>] proc_reg_read+0x6d/0xa0
       [<ffffffff81116e53>] vfs_read+0xc3/0x180
       [<ffffffff81116f5c>] sys_read+0x4c/0x90
       [<ffffffff81030dbb>] system_call_fastpath+0x16/0x1b
      ...
      
      It's all cause by weird fail path handling in cpufreq_register_driver.
      To fix that, shuffle the code to do proper handling with gotos.
      Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
      Signed-off-by: default avatarDave Jones <davej@redhat.com>
      8f5bc2ab
    • Dave Jones's avatar
      [CPUFREQ] Fix another notifier leak in powernow-k8. · a536b126
      Dave Jones authored
      Do the notifier registration later, so we don't have to worry
      about freeing it if we fail the msr allocation.
      Signed-off-by: default avatarDave Jones <davej@redhat.com>
      a536b126
    • Neil Brown's avatar
      [CPUFREQ] Missing "unregister_cpu_notifier" in powernow-k8.c · ac818314
      Neil Brown authored
      It appears that when powernow-k8 finds that
      
          No compatible ACPI _PSS objects found.
      
       and suggests
      
          Try again with latest BIOS.
      
       it fails the module load, but does not unregister the cpu_notifier that was
       registered in powernowk8_init
      
       This ends up leaving freed memory on the cpu notifier list for some other
       poor module (e.g. md/raid5) to come along and trip over.
      
       The following might be a partial fix, but I suspect there is probably other
       clean-up that is needed.
      
       ( https://bugzilla.novell.com/show_bug.cgi?id=655215 has full dmesg traces).
      Signed-off-by: default avatarDave Jones <davej@redhat.com>
      Signed-off-by: default avatarNeil Brown <neilb@suse.de>
      ac818314
    • Linus Torvalds's avatar
      Linux 2.6.38-rc7 · dd9c1549
      Linus Torvalds authored
      dd9c1549