1. 27 5月, 2009 14 次提交
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 · 878a4f52
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
        ALSA: hda - Add missing check of pin vref 50 and others in Realtek codecs
        ALSA: hda - Add 5stack-no-fp model for STAC927x
        ALSA: hda - Add forced codec-slots for ASUS W5Fm
      878a4f52
    • L
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq · 733be82e
      Linus Torvalds 提交于
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
        [CPUFREQ] powernow-k8: determine exact CPU frequency for HW Pstates
        [CPUFREQ] powernow-k8 cleanup msg if BIOS does not export ACPI _PSS cpufreq data
        [CPUFREQ] fix timer teardown in ondemand governor
        [CPUFREQ] fix timer teardown in conservative governor
        [CPUFREQ] remove rwsem lock from CPUFREQ_GOV_STOP call
        [CPUFREQ] powernow-k7 build fix when ACPI=n
        [CPUFREQ] add atom family to p4-clockmod
      733be82e
    • R
      lguest: fix on Intel when KVM loaded (unhandled trap 13) · 56434622
      Rusty Russell 提交于
      When KVM is loaded, and hence VT set up, the vmcall instruction in an
      lguest guest causes a #GP, not #UD.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      56434622
    • T
      kmod: Release sub_info on cred allocation failure. · ab2b7eba
      Tetsuo Handa 提交于
      call_usermodehelper_setup() forgot to kfree(sub_info)
      when prepare_usermodehelper_creds() failed.
      Signed-off-by: NTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ab2b7eba
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · d4a76f8a
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (21 commits)
        r8169: avoid losing MSI interrupts
        tcp: tcp_vegas ssthresh bugfix
        mac8390: fix regression caused during net_device_ops conversion
        gianfar: fix BUG under load after introduction of skb recycling
        wimax/i2400m: usb: fix device reset on autosuspend while not yet idle
        RxRPC: Error handling for rxrpc_alloc_connection()
        ipv4: Fix oops with FIB_TRIE
        pktgen: do not access flows[] beyond its length
        gigaset: beyond ARRAY_SIZE of iwb->data
        IPv6: set RTPROT_KERNEL to initial route
        net: fix rtable leak in net/ipv4/route.c
        net: fix length computation in rt_check_expire()
        wireless: beyond ARRAY_SIZE of intf->crypto_stats
        iwlwifi: update 5000 ucode support to version 2 of API
        cfg80211: fix race between core hint and driver's custom apply
        airo: fix airo_get_encode{,ext} buffer overflow like I mean it...
        ath5k: fix interpolation with equal power levels
        iwlwifi: do not cancel delayed work inside spin_lock_irqsave
        ath5k: fix exp off-by-one when computing OFDM delta slope
        wext: verify buffer size for SIOCSIWENCODEEXT
        ...
      d4a76f8a
    • L
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 60a0cd52
      Linus Torvalds 提交于
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        powerpc/mm: Fix broken MMU PID stealing on !SMP
      60a0cd52
    • L
      Merge branch 'for-linus' of git://neil.brown.name/md · e25e0920
      Linus Torvalds 提交于
      * 'for-linus' of git://neil.brown.name/md:
        md: don't use locked_ioctl.
        md: don't update curr_resync_completed without also updating reshape_position.
        md: raid5: avoid sector values going negative when testing reshape progress.
        md: export 'frozen' resync state through sysfs
        md: bitmap: improve bitmap maintenance code.
        md: improve errno return when setting array_size
        md: always update level / chunk_size / layout when writing v1.x metadata.
      e25e0920
    • A
      [CPUFREQ] powernow-k8: determine exact CPU frequency for HW Pstates · ca446d06
      Andreas Herrmann 提交于
      Slightly modified by trenn@suse.de -> only do this on fam 10h and fam 11h.
      
      Currently powernow-k8 determines CPU frequency from ACPI PSS objects, but
      according to AMD family 11h BKDG this frequency is just a rounded value:
      
        "CoreFreq (MHz) = The CPU COF specified by MSRC001_00[6B:64][CpuFid]
        rounded to the nearest 100 Mhz."
      
      As a consequnce powernow-k8 reports wrong CPU frequency on some systems,
      e.g. on Turion X2 Ultra:
      
        powernow-k8: Found 1 AMD Turion(tm)X2 Ultra DualCore Mobile ZM-82
                     processors (2 cpu cores) (version 2.20.00)
        powernow-k8:    0 : pstate 0 (2200 MHz)
        powernow-k8:    1 : pstate 1 (1100 MHz)
        powernow-k8:    2 : pstate 2 (600 MHz)
      
      But this is wrong as frequency for Pstate2 is 550 MHz. x86info reports it
      correctly:
      
        #x86info -a |grep Pstate
        ...
        Pstate-0: fid=e, did=0, vid=24 (2200MHz)
        Pstate-1: fid=e, did=1, vid=30 (1100MHz)
        Pstate-2: fid=e, did=2, vid=3c (550MHz) (current)
      
      Solution is to determine the frequency directly from Pstate MSRs instead
      of using rounded values from ACPI table.
      Signed-off-by: NAndreas Herrmann <andreas.herrmann3@amd.com>
      Signed-off-by: NThomas Renninger <trenn@suse.de>
      Signed-off-by: NDave Jones <davej@redhat.com>
      ca446d06
    • T
      [CPUFREQ] powernow-k8 cleanup msg if BIOS does not export ACPI _PSS cpufreq data · df182977
      Thomas Renninger 提交于
      - Make the message shorter and easier to grep for
      - Use printk_once instead of WARN_ONCE (functionality of these was mixed)
      Signed-off-by: NThomas Renninger <trenn@suse.de>
      Cc: Langsdorf, Mark <mark.langsdorf@amd.com>
      Signed-off-by: NDave Jones <davej@redhat.com>
      df182977
    • M
      [CPUFREQ] fix timer teardown in ondemand governor · b14893a6
      Mathieu Desnoyers 提交于
      * Rafael J. Wysocki (rjw@sisk.pl) wrote:
      > This message has been generated automatically as a part of a report
      > of regressions introduced between 2.6.28 and 2.6.29.
      >
      > The following bug entry is on the current list of known regressions
      > introduced between 2.6.28 and 2.6.29.  Please verify if it still should
      > be listed and let me know (either way).
      >
      >
      > Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=13186
      > Subject		: cpufreq timer teardown problem
      > Submitter	: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
      > Date		: 2009-04-23 14:00 (24 days old)
      > References	: http://marc.info/?l=linux-kernel&m=124049523515036&w=4
      > Handled-By	: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
      > Patch		: http://patchwork.kernel.org/patch/19754/
      > 		  http://patchwork.kernel.org/patch/19753/
      >
      
      (updated changelog)
      
      cpufreq fix timer teardown in ondemand governor
      
      The problem is that dbs_timer_exit() uses cancel_delayed_work() when it should
      use cancel_delayed_work_sync(). cancel_delayed_work() does not wait for the
      workqueue handler to exit.
      
      The ondemand governor does not seem to be affected because the
      "if (!dbs_info->enable)" check at the beginning of the workqueue handler returns
      immediately without rescheduling the work. The conservative governor in
      2.6.30-rc has the same check as the ondemand governor, which makes things
      usually run smoothly. However, if the governor is quickly stopped and then
      started, this could lead to the following race :
      
      dbs_enable could be reenabled and multiple do_dbs_timer handlers would run.
      This is why a synchronized teardown is required.
      
      The following patch applies to, at least, 2.6.28.x, 2.6.29.1, 2.6.30-rc2.
      
      Depends on patch
      cpufreq: remove rwsem lock from CPUFREQ_GOV_STOP call
      Signed-off-by: NMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
      CC: Andrew Morton <akpm@linux-foundation.org>
      CC: gregkh@suse.de
      CC: stable@kernel.org
      CC: cpufreq@vger.kernel.org
      CC: Ingo Molnar <mingo@elte.hu>
      CC: rjw@sisk.pl
      CC: Ben Slusky <sluskyb@paranoiacs.org>
      Signed-off-by: NDave Jones <davej@redhat.com>
      b14893a6
    • M
      [CPUFREQ] fix timer teardown in conservative governor · b253d2b2
      Mathieu Desnoyers 提交于
      * Rafael J. Wysocki (rjw@sisk.pl) wrote:
      > This message has been generated automatically as a part of a report
      > of regressions introduced between 2.6.28 and 2.6.29.
      >
      > The following bug entry is on the current list of known regressions
      > introduced between 2.6.28 and 2.6.29.  Please verify if it still should
      > be listed and let me know (either way).
      >
      >
      > Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=13186
      > Subject		: cpufreq timer teardown problem
      > Submitter	: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
      > Date		: 2009-04-23 14:00 (24 days old)
      > References	: http://marc.info/?l=linux-kernel&m=124049523515036&w=4
      > Handled-By	: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
      > Patch		: http://patchwork.kernel.org/patch/19754/
      > 		  http://patchwork.kernel.org/patch/19753/
      >
      
      (re-send with updated changelog)
      
      cpufreq fix timer teardown in conservative governor
      
      The problem is that dbs_timer_exit() uses cancel_delayed_work() when it should
      use cancel_delayed_work_sync(). cancel_delayed_work() does not wait for the
      workqueue handler to exit.
      
      The ondemand governor does not seem to be affected because the
      "if (!dbs_info->enable)" check at the beginning of the workqueue handler returns
      immediately without rescheduling the work. The conservative governor in
      2.6.30-rc has the same check as the ondemand governor, which makes things
      usually run smoothly. However, if the governor is quickly stopped and then
      started, this could lead to the following race :
      
      dbs_enable could be reenabled and multiple do_dbs_timer handlers would run.
      This is why a synchronized teardown is required.
      
      Depends on patch
      cpufreq: remove rwsem lock from CPUFREQ_GOV_STOP call
      
      The following patch applies to 2.6.30-rc2. Stable kernels have a similar
      issue which should also be fixed, but the code changed between 2.6.29
      and 2.6.30, so this patch only applies to 2.6.30-rc.
      Signed-off-by: NMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
      CC: Andrew Morton <akpm@linux-foundation.org>
      CC: gregkh@suse.de
      CC: stable@kernel.org
      CC: cpufreq@vger.kernel.org
      CC: Ingo Molnar <mingo@elte.hu>
      CC: rjw@sisk.pl
      CC: Ben Slusky <sluskyb@paranoiacs.org>
      Signed-off-by: NDave Jones <davej@redhat.com>
      b253d2b2
    • M
      [CPUFREQ] remove rwsem lock from CPUFREQ_GOV_STOP call · 42a06f21
      Mathieu Desnoyers 提交于
      * Rafael J. Wysocki (rjw@sisk.pl) wrote:
      > This message has been generated automatically as a part of a report
      > of regressions introduced between 2.6.28 and 2.6.29.
      >
      > The following bug entry is on the current list of known regressions
      > introduced between 2.6.28 and 2.6.29.  Please verify if it still should
      > be listed and let me know (either way).
      >
      >
      > Bug-Entry	: http://bugzilla.kernel.org/show_bug.cgi?id=13186
      > Subject		: cpufreq timer teardown problem
      > Submitter	: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
      > Date		: 2009-04-23 14:00 (24 days old)
      > References	: http://marc.info/?l=linux-kernel&m=124049523515036&w=4
      > Handled-By	: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
      > Patch		: http://patchwork.kernel.org/patch/19754/
      > 		  http://patchwork.kernel.org/patch/19753/
      
      The patches linked above depend on the following patch to remove
      circular locking dependency :
      
      cpufreq: remove rwsem lock from CPUFREQ_GOV_STOP call
      
      (the following issue was faced when using cancel_delayed_work_sync() in the
      timer teardown (which fixes a race).
      
      * KOSAKI Motohiro (kosaki.motohiro@jp.fujitsu.com) wrote:
      > Hi
      >
      > my box output following warnings.
      > it seems regression by commit 7ccc7608b836e58fbacf65ee4f8eefa288e86fac.
      >
      > A: work -> do_dbs_timer()  -> cpu_policy_rwsem
      > B: store() -> cpu_policy_rwsem -> cpufreq_governor_dbs() -> work
      >
      >
      
      Hrm, I think it must be due to my attempt to fix the timer teardown race
      in ondemand governor mixed with new locking behavior in 2.6.30-rc.
      
      The rwlock seems to be taken around the whole call to
      cpufreq_governor_dbs(), when it should be only taken around accesses to
      the locked data, and especially *not* around the call to
      dbs_timer_exit().
      
      Reverting my fix attempt would put the teardown race back in place
      (replacing the cancel_delayed_work_sync by cancel_delayed_work).
      Instead, a proper fix would imply modifying this critical section :
      
      cpufreq.c: __cpufreq_remove_dev()
      ...
              if (cpufreq_driver->target)
                      __cpufreq_governor(data, CPUFREQ_GOV_STOP);
      
              unlock_policy_rwsem_write(cpu);
      
      To make sure the __cpufreq_governor() callback is not called with rwsem
      held. This would allow execution of cancel_delayed_work_sync() without
      being nested within the rwsem.
      
      Applies on top of the 2.6.30-rc5 tree.
      
      Required to remove circular dep in teardown of both conservative and
      ondemande governors so they can use cancel_delayed_work_sync().
      CPUFREQ_GOV_STOP does not modify the policy, therefore this locking seemed
      unneeded.
      Signed-off-by: NMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
      CC: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: Greg KH <greg@kroah.com>
      CC: Ingo Molnar <mingo@elte.hu>
      CC: "Rafael J. Wysocki" <rjw@sisk.pl>
      CC: Ben Slusky <sluskyb@paranoiacs.org>
      CC: Chris Wright <chrisw@sous-sol.org>
      CC: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NDave Jones <davej@redhat.com>
      42a06f21
    • D
      [CPUFREQ] powernow-k7 build fix when ACPI=n · d38e73e8
      Dave Jones 提交于
      arch/x86/kernel/cpu/cpufreq/powernow-k7.c:172: warning: 'invalidate_entry' defined but not used
      Reported-by: NToralf Förster <toralf.foerster@gmx.de>
      Signed-off-by: NDave Jones <davej@redhat.com>
      d38e73e8
    • J
      [CPUFREQ] add atom family to p4-clockmod · 43195037
      Jarod Wilson 提交于
      Some atom procs don't do freq scaling (such as the atom 330 on my own
      littlefalls2 board). By adding the atom family here, we at least get
      the benefit of passive cooling in a thermal emergency. Not sure how
      to see that its actually helping any, but the driver does bind and
      claim its functioning on my atom 330.
      Signed-off-by: NJarod Wilson <jarod@redhat.com>
      Signed-off-by: NDave Jones <davej@redhat.com>
      43195037
  2. 26 5月, 2009 16 次提交
  3. 25 5月, 2009 9 次提交
  4. 24 5月, 2009 1 次提交