1. 28 12月, 2006 18 次提交
  2. 27 12月, 2006 5 次提交
  3. 23 12月, 2006 17 次提交
    • M
      [PATCH] Call init_timer() for ISDN PPP CCP reset state timer · dab6df63
      Marcel Holtmann 提交于
      The function isdn_ppp_ccp_reset_alloc_state() sets ->timer.function
      and ->timer.data and later on calls add_timer() with no init_timer()
      ever done.
      
      Noted by Al Viro.
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Karsten Keil <kkeil@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      dab6df63
    • A
      [ATM] drivers/atm/fore200e.c: Cleanups. · 1f8a5fb8
      Adrian Bunk 提交于
      This patch contains the following transformations from custom functions
      to standard kernel version:
      - fore200e_kmalloc() -> kzalloc()
      - fore200e_kfree() -> kfree()
      - fore200e_swap() -> cpu_to_be32()
      Signed-off-by: NAdrian Bunk <bunk@stusta.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1f8a5fb8
    • A
      [ATM]: Remove dead ATM_TNETA1570 option. · 52a91071
      Adrian Bunk 提交于
      This patch removes the unconverted ATM_TNETA1570 option that also lacks
      any code in the kernel.
      Signed-off-by: NAdrian Bunk <bunk@stusta.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      52a91071
    • P
      [PATCH] serial/uartlite: Only enable port if request_port succeeded · e21654a7
      Peter Korsgaard 提交于
      The uartlite driver used to always enable the port even if request_port
      failed causing havoc. This patch fixes it.
      Signed-off-by: NPeter Korsgaard <jacmet@sunsite.dk>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      e21654a7
    • I
      [PATCH] sched: fix bad missed wakeups in the i386, x86_64, ia64, ACPI and APM idle code · 0888f06a
      Ingo Molnar 提交于
      Fernando Lopez-Lezcano reported frequent scheduling latencies and audio
      xruns starting at the 2.6.18-rt kernel, and those problems persisted all
      until current -rt kernels. The latencies were serious and unjustified by
      system load, often in the milliseconds range.
      
      After a patient and heroic multi-month effort of Fernando, where he
      tested dozens of kernels, tried various configs, boot options,
      test-patches of mine and provided latency traces of those incidents, the
      following 'smoking gun' trace was captured by him:
      
                       _------=> CPU#
                      / _-----=> irqs-off
                     | / _----=> need-resched
                     || / _---=> hardirq/softirq
                     ||| / _--=> preempt-depth
                     |||| /
                     |||||     delay
         cmd     pid ||||| time  |   caller
            \   /    |||||   \   |   /
        IRQ_19-1479  1D..1    0us : __trace_start_sched_wakeup (try_to_wake_up)
        IRQ_19-1479  1D..1    0us : __trace_start_sched_wakeup <<...>-5856> (37 0)
        IRQ_19-1479  1D..1    0us : __trace_start_sched_wakeup (c01262ba 0 0)
        IRQ_19-1479  1D..1    0us : resched_task (try_to_wake_up)
        IRQ_19-1479  1D..1    0us : __spin_unlock_irqrestore (try_to_wake_up)
        ...
        <idle>-0     1...1   11us!: default_idle (cpu_idle)
        ...
        <idle>-0     0Dn.1  602us : smp_apic_timer_interrupt (c0103baf 1 0)
        ...
         <...>-5856  0D..2  618us : __switch_to (__schedule)
         <...>-5856  0D..2  618us : __schedule <<idle>-0> (20 162)
         <...>-5856  0D..2  619us : __spin_unlock_irq (__schedule)
         <...>-5856  0...1  619us : trace_stop_sched_switched (__schedule)
         <...>-5856  0D..1  619us : trace_stop_sched_switched <<...>-5856> (37 0)
      
      what is visible in this trace is that CPU#1 ran try_to_wake_up() for
      PID:5856, it placed PID:5856 on CPU#0's runqueue and ran resched_task()
      for CPU#0. But it decided to not send an IPI that no CPU - due to
      TS_POLLING. But CPU#0 never woke up after its NEED_RESCHED bit was set,
      and only rescheduled to PID:5856 upon the next lapic timer IRQ. The
      result was a 600+ usecs latency and a missed wakeup!
      
      the bug turned out to be an idle-wakeup bug introduced into the mainline
      kernel this summer via an optimization in the x86_64 tree:
      
          commit 495ab9c0
          Author: Andi Kleen <ak@suse.de>
          Date:   Mon Jun 26 13:59:11 2006 +0200
      
          [PATCH] i386/x86-64/ia64: Move polling flag into thread_info_status
      
          During some profiling I noticed that default_idle causes a lot of
          memory traffic. I think that is caused by the atomic operations
          to clear/set the polling flag in thread_info. There is actually
          no reason to make this atomic - only the idle thread does it
          to itself, other CPUs only read it. So I moved it into ti->status.
      
      the problem is this type of change:
      
              if (!hlt_counter && boot_cpu_data.hlt_works_ok) {
      -               clear_thread_flag(TIF_POLLING_NRFLAG);
      +               current_thread_info()->status &= ~TS_POLLING;
                      smp_mb__after_clear_bit();
                      while (!need_resched()) {
                              local_irq_disable();
      
      this changes clear_thread_flag() to an explicit clearing of TS_POLLING.
      clear_thread_flag() is defined as:
      
              clear_bit(flag, &ti->flags);
      
      and clear_bit() is a LOCK-ed atomic instruction on all x86 platforms:
      
        static inline void clear_bit(int nr, volatile unsigned long * addr)
        {
                __asm__ __volatile__( LOCK_PREFIX
                        "btrl %1,%0"
      
      hence smp_mb__after_clear_bit() is defined as a simple compile barrier:
      
        #define smp_mb__after_clear_bit()       barrier()
      
      but the explicit TS_POLLING clearing introduced by the patch:
      
      +               current_thread_info()->status &= ~TS_POLLING;
      
      is not an atomic op! So the clearing of the TS_POLLING bit is freely
      reorderable with the reading of the NEED_RESCHED bit - and both now
      reside in different memory addresses.
      
      CPU idle wakeup very much depends on ordered memory ops, the clearing of
      the TS_POLLING flag must always be done before we test need_resched()
      and hit the idle instruction(s). [Symmetrically, the wakeup code needs
      to set NEED_RESCHED before it tests the TS_POLLING flag, so memory
      ordering is paramount.]
      
      Fernando's dual-core Athlon64 system has a sufficiently advanced memory
      ordering model so that it triggered this scenario very often.
      
      ( And it also turned out that the reason why these latencies never
        triggered on my testsystems is that i routinely use idle=poll, which
        was the only idle variant not affected by this bug. )
      
      The fix is to change the smp_mb__after_clear_bit() to an smp_mb(), to
      act as an absolute barrier between the TS_POLLING write and the
      NEED_RESCHED read. This affects almost all idling methods (default,
      ACPI, APM), on all 3 x86 architectures: i386, x86_64, ia64.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Tested-by: NFernando Lopez-Lezcano <nando@ccrma.Stanford.EDU>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      0888f06a
    • B
      [PATCH] fix s3c24xx gpio driver (include linux/workqueue.h) · 6d3a25f1
      Ben Dooks 提交于
      The general gpio driver includes seem to now depend on having
      <linux/workqueue.h> included before they are.
      Signed-off-by: NBen Dooks <ben-linux@fluff.org>
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      6d3a25f1
    • N
      [PATCH] md: fix a few problems with the interface (sysfs and ioctl) to md · 3f9d7b0d
      NeilBrown 提交于
      While developing more functionality in mdadm I found some bugs in md...
      
      - When we remove a device from an inactive array (write 'remove' to
        the 'state' sysfs file - see 'state_store') would should not
        update the superblock information - as we may not have
        read and processed it all properly yet.
      
      - initialise all raid_disk entries to '-1' else the 'slot sysfs file
        will claim '0' for all devices in an array before the array is
        started.
      
      - all '\n' not to be present at the end of words written to
        sysfs files
      
      - when we use SET_ARRAY_INFO to set the md metadata version,
        set the flag to say that there is persistant metadata.
      
      - allow GET_BITMAP_FILE to be called on an array that hasn't
        been started yet.
      Signed-off-by: NNeil Brown <neilb@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      3f9d7b0d
    • A
      [PATCH] increase CARDBUS_MEM_SIZE · fe0e5c4d
      Andrew Morton 提交于
      Linus sayeth:
      
      Google knows everything, and finds, on MS own site no less:
      
        "Windows 2000 default resources:
      
         One 4K memory window
      
         One 2 MB memory window
      
         Two 256-byte I/O windows"
      
      which is clearly utterly bogus and insufficient. But Microsoft apparently
      realized this, and:
      
        "Windows XP default resources:
      
         Because one memory window of 4K and one window of 2 MB are not
         sufficient for CardBus controllers in many configurations, Windows XP
         allocates larger memory windows to CardBus controllers where possible.
         However, resource windows are static (that is, the operating system
         does not dynamically allocate larger memory windows if new devices
         appear.) Under Windows XP, CardBus controllers will be assigned the
         following resources:
      
         One 4K memory window, as in Windows 2000
      
         64 MB memory, if that amount of memory is available. If 64 MB is not
         available the controller will receive 32 MB; if 32 MB is not available,
         the controller will receive 16 MB; if 16 MB is not available, the
         bridge will receive 8 MB; and so on down to a minimum assignment of 1
         MB in configurations where memory is too constrained for the operating
         system to provide a larger window.
      
         Two 256-byte I/O windows"
      
      So I think we have our answer. Windows uses one 4k window, and one 64MB
      window. And they are no more dynamic than we are (we _could_ try to do it
      dynamically, but let's face it, it's fairly painful to dynamically expand
      PCI bus resources - you may need to reprogram everything up to the root,
      so it would be absolutely crazy to do that unless you have some serious
      masochistic tendencies).
      
      So let's just increase our default value to 64M too.
      
      Cc: Markus Rechberger <mrechberger@gmail.com>
      Cc: Daniel Ritz <daniel.ritz@gmx.ch>
      Cc: Dominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      fe0e5c4d
    • P
      [PATCH] gxt4500: Fix colormap and PLL setting, support GXT6000P · 31fccf7f
      Paul Mackerras 提交于
      This fixes some bugs in the gxt4500 framebuffer driver, and adds support
      for GXT6000P cards.
      
      First, I had the red and blue channels swapped in the colormap update code,
      resulting in penguins' noses and feet turning blue (though the penguins
      weren't actually shivering :).
      
      Secondly, the code that calculated the values to put in the PLL that
      generates the pixel clock wasn't observing some constraints that I wasn't
      originally aware of, but am now that I have some documentation on the chip.
      
      The GXT6000P is essentially identical from software's point of view, except
      for a different reference clock for the PLL, and the addition of a geometry
      engine (which this driver doesn't use).
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      Cc: James Simmons <jsimmons@infradead.org>
      Cc: "Antonino A. Daplas" <adaplas@pol.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      31fccf7f
    • A
      [PATCH] tlclk: delete unnecessary sysfs_remove_group · 5e40508e
      Akinobu Mita 提交于
      It is unnecessary and invalid to call sysfs_remove_group() after
      sysfs_create_group() failure.
      
      Cc: Sebastien Bouchard <sebastien.bouchard@ca.kontron.com>
      Cc: Mark Gross <mark.gross@intel.com>
      Signed-off-by: NAkinobu Mita <akinobu.mita@gmail.com>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      5e40508e
    • E
      [PATCH] fix aoe without scatter-gather [Bug 7662] · 19900cde
      Ed L. Cashin 提交于
      Fix a bug that only appears when AoE goes over a network card that does not
      support scatter-gather.  The headers in the linear part of the skb appeared
      to be larger than they really were, resulting in data that was offset by 24
      bytes.
      
      This patch eliminates the offset data on cards that don't support
      scatter-gather or have had scatter-gather turned off.  There remains an
      unrelated issue that I'll address in a separate email.
      
      Fixes bugzilla #7662
      Signed-off-by: N"Ed L. Cashin" <ecashin@coraid.com>
      Cc: <stable@kernel.org>
      Cc: Greg KH <greg@kroah.com>
      Cc: <boddingt@optusnet.com.au>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      19900cde
    • A
      [PATCH] smc911 workqueue fixes · ef8142a5
      Andrew Morton 提交于
      Teach this driver about the workqueue changes.
      
      Cc: Vitaly Wool <vitalywool@gmail.com>
      Cc: Jeff Garzik <jeff@garzik.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      ef8142a5
    • V
      [PATCH] smc911x: fix netpoll compilation faliure · 9b6d2efe
      Vitaly Wool 提交于
      Fix the compilation failure for smc911x.c when NET_POLL_CONTROLLER is set.
      Signed-off-by: NVitaly Wool <vitalywool@gmail.com>
      Cc: Jeff Garzik <jeff@garzik.org>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      9b6d2efe
    • R
      [PATCH] fix kernel-doc warnings in 2.6.20-rc1 · af9997e4
      Randy Dunlap 提交于
      Fix kernel-doc warnings in 2.6.20-rc1.
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      af9997e4
    • A
      [PATCH] rtc warning fix · 533ffc28
      Andrew Morton 提交于
      drivers/char/rtc.c:116: warning: 'hpet_rtc_interrupt' defined but not used
      
      Cc: Jan Beulich <jbeulich@novell.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      533ffc28
    • A
      [PATCH] KVM: API versioning · 0b76e20b
      Avi Kivity 提交于
      Add compile-time and run-time API versioning.
      Signed-off-by: NAvi Kivity <avi@qumranet.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      0b76e20b
    • M
      [PATCH] KVM: Handle p5 mce msrs · 0f8e3d36
      Michael Riepe 提交于
      This allows plan9 to get a little further booting.
      Signed-off-by: NMichael Riepe <michael@mr511.de>
      Signed-off-by: NAvi Kivity <avi@qumranet.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      0f8e3d36