1. 12 Jun, 2006 9 commits
    • Linus Torvalds's avatar
      Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 · a3b5960e
      Linus Torvalds authored
      * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
        [IPV4]: Increment ipInHdrErrors when TTL expires.
        [TCP]: continued: reno sacked_out count fix
        [DCCP] Ackvec: fix soft lockup in ackvec handling code
      a3b5960e
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · 37b0d1de
      Linus Torvalds authored
      * master.kernel.org:/home/rmk/linux-2.6-arm:
        [ARM] Fix Integrator and Versatile interrupt initialisation
        [ARM] 3546/1: PATCH: subtle lost interrupts bug on i.MX
        [ARM] 3547/1: PXA-OHCI: Allow platforms to specify a power budget
        [ARM] Fix Neponset IRQ handling
      37b0d1de
    • Weidong's avatar
      42d1d52e
    • Linus Torvalds's avatar
      [sky2] Fix sky2 network driver suspend/resume · d374c1c1
      Linus Torvalds authored
      This fixes two independent problems: it would not save the PCI state on
      suspend (and thus try to resume a nonexistent state on resume), and
      while shut off, if an interrupt happened on the same shared irq, the irq
      handler would react very badly to the interrupt status being an invalid
      all-ones state.
      Acked-by: default avatarJeff Garzik <jgarzik@pobox.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      d374c1c1
    • Linus Torvalds's avatar
      Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev · 0e838b72
      Linus Torvalds authored
      * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
        [PATCH] sata_mv: grab host lock inside eng_timeout
      0e838b72
    • Aki M Nyrhinen's avatar
      [TCP]: continued: reno sacked_out count fix · 79320d7e
      Aki M Nyrhinen authored
      From: Aki M Nyrhinen <anyrhine@cs.helsinki.fi>
      
      IMHO the current fix to the problem (in_flight underflow in reno)
      is incorrect.  it treats the symptons but ignores the problem. the
      problem is timing out packets other than the head packet when we
      don't have sack. i try to explain (sorry if explaining the obvious).
      
      with sack, scanning the retransmit queue for timed out packets is
      fine because we know which packets in our retransmit queue have been
      acked by the receiver.
      
      without sack, we know only how many packets in our retransmit queue the
      receiver has acknowledged, but no idea which packets.
      
      think of a "typical" slow-start overshoot case, where for example
      every third packet in a window get lost because a router buffer gets
      full.
      
      with sack, we check for timeouts on those every third packet (as the
      rest have been sacked). the packet counting works out and if there
      is no reordering, we'll retransmit exactly the packets that were 
      lost.
      
      without sack, however, we check for timeout on every packet and end up
      retransmitting consecutive packets in the retransmit queue. in our
      slow-start example, 2/3 of those retransmissions are unnecessary. these
      unnecessary retransmissions eat the congestion window and evetually
      prevent fast recovery from continuing, if enough packets were lost.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      79320d7e
    • Andrea Bittau's avatar
      [DCCP] Ackvec: fix soft lockup in ackvec handling code · afec35e3
      Andrea Bittau authored
      A soft lockup existed in the handling of ack vector records.
      Specifically, when a tail of the list of ack vector records was
      removed, it was possible to end up iterating infinitely on an element
      of the tail.
      Signed-off-by: default avatarAndrea Bittau <a.bittau@cs.ucl.ac.uk>
      Signed-off-by: default avatarIan McDonald <ian.mcdonald@jandi.co.nz>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      afec35e3
    • Paul Mackerras's avatar
      [PATCH] Fix for the PPTP hangs that have been reported · 289a1e99
      Paul Mackerras authored
      People have been reporting that PPP connections over ptys, such as
      used with PPTP, will hang randomly when transferring large amounts of
      data, for instance in http://bugzilla.kernel.org/show_bug.cgi?id=6530.
      I have managed to reproduce the problem, and the patch below fixes the
      actual cause.
      
      The problem is not in fact in ppp_async.c but in n_tty.c.  What
      happens is that when pptp reads from the pty, we call read_chan() in
      drivers/char/n_tty.c on the master side of the pty.  That copies all
      the characters out of its buffer to userspace and then calls
      check_unthrottle(), which calls the pty unthrottle routine, which
      calls tty_wakeup on the slave side, which calls ppp_asynctty_wakeup,
      which calls tasklet_schedule.  So far so good.  Since we are in
      process context, the tasklet runs immediately and calls
      ppp_async_process(), which calls ppp_async_push, which calls the
      tty->driver->write function to send some more output.
      
      However, tty->driver->write() returns zero, because the master
      tty->receive_room is still zero.  We haven't returned from
      check_unthrottle() yet, and read_chan() only updates tty->receive_room
      _after_ calling check_unthrottle.  That means that the driver->write
      call in ppp_async_process() returns 0.  That would be fine if we were
      going to get a subsequent wakeup call, but we aren't (we just had it,
      and the buffer is now empty).
      
      The solution is for n_tty.c to update tty->receive_room _before_
      calling the driver unthrottle routine.  The patch below does this.
      With this patch I was able to transfer a 900MB file over a PPTP
      connection (taking about 25 minutes), whereas without the patch the
      connection would always stall in under a minute.
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      289a1e99
    • Mark Lord's avatar
      [PATCH] sata_mv: grab host lock inside eng_timeout · 2f9719b6
      Mark Lord authored
      Bug fix:  mv_eng_timeout() calls mv_err_intr() without first grabbing the host lock,
      which can lead to all sorts of interesting scenarios.
      
      This whole error-handling portion of sata_mv is nasty (and will get fixed for
      the new EH stuff), but for now this patch will help keep it on life-support.
      Signed-off-by: default avatarMark Lord <liml@rtr.ca>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      2f9719b6
  2. 11 Jun, 2006 8 commits
  3. 10 Jun, 2006 9 commits
  4. 09 Jun, 2006 5 commits
  5. 08 Jun, 2006 9 commits
    • Linus Torvalds's avatar
      Merge branch 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 · 128e6ced
      Linus Torvalds authored
      * 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
        e1000: remove risky prefetch on next_skb->data
        e1000: fix ethtool test irq alloc as "probe"
        [PATCH] bcm43xx: add DMA rx poll workaround to DMA4
      128e6ced
    • Martin Schwidefsky's avatar
      [PATCH] s390: fix in-user atomic futex operation. · bafe00cc
      Martin Schwidefsky authored
      From: Martin Schwidefsky <schwidefsky@de.ibm.com>
      
      __futex_atomic_op needs to do an atomic operation in the user address space,
      not the kernel address space.  Add the missing sacf 256/sacf 0 to switch to
      the secondary mode before doing the compare-and-swap.  In addition add
      another fixup for catch specification exceptions if the compare-and-swap
      address is not aligned.
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      bafe00cc
    • Jens Axboe's avatar
      [PATCH] debugfs inode leak · 71601e2b
      Jens Axboe authored
      Looking at the reiser4 crash, I found a leak in debugfs. In
      debugfs_mknod(), we create the inode before checking if the dentry
      already has one attached. We don't free it if that is the case.
      
      These bugs happen quite often, I'm starting to think we should disallow
      such coding in CodingStyle.
      Signed-off-by: default avatarJens Axboe <axboe@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      71601e2b
    • Jens Axboe's avatar
      [PATCH] elevator switching race · bc1c1169
      Jens Axboe authored
      There's a race between shutting down one io scheduler and firing up the
      next, in which a new io could enter and cause the io scheduler to be
      invoked with bad or NULL data.
      
      To fix this, we need to maintain the queue lock for a bit longer.
      Unfortunately we cannot do that, since the elevator init requires to be
      run without the lock held.  This isn't easily fixable, without also
      changing the mempool API.  So split the initialization into two parts,
      and alloc-init operation and an attach operation.  Then we can
      preallocate the io scheduler and related structures, and run the attach
      inside the lock after we detach the old one.
      
      This patch has survived 30 minutes of 1 second io scheduler switching
      with a very busy io load.
      Signed-off-by: default avatarJens Axboe <axboe@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      bc1c1169
    • Malcom Parsons's avatar
      [PATCH] fbcon: fix limited scroll in SCROLL_PAN_REDRAW mode · 26e780e8
      Malcom Parsons authored
      From: Malcom Parsons <malcolm.parsons@gmail.com>
      
      When scrolling up in SCROLL_PAN_REDRAW mode with a large limited scroll
      region, the bottom few lines have to be redrawn.  Without this patch, the
      wrong text is drawn into these lines, corrupting the display.
      
      Observed in 2.6.14 when running an IRC client in the Nintendo DS linux
      port.
      
      I haven't tested if scrolling down has the same problem.
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      26e780e8
    • Ralf Baechle's avatar
      [PATCH] Fix mempolicy.h build error · 45b35a5c
      Ralf Baechle authored
      From: Ralf Baechle <ralf@linux-mips.org>
      
      <linux/mempolicy.h> uses struct mm_struct and relies on a definition or
      declaration somehow magically being dragged in which may result in a
      build:
      
      [...]
        CC      mm/mempolicy.o
      In file included from mm/mempolicy.c:69:
      include/linux/mempolicy.h:150: warning: ‘struct mm_struct’ declared inside parameter list
      include/linux/mempolicy.h:150: warning: its scope is only this definition or declaration, which is probably not what you want
      include/linux/mempolicy.h:175: warning: ‘struct mm_struct’ declared inside parameter list
      mm/mempolicy.c:622: error: conflicting types for ‘do_migrate_pages’
      include/linux/mempolicy.h:175: error: previous declaration of ‘do_migrate_pages’ was here
      mm/mempolicy.c:1661: error: conflicting types for ‘mpol_rebind_mm’
      include/linux/mempolicy.h:150: error: previous declaration of ‘mpol_rebind_mm’ was here
      make[1]: *** [mm/mempolicy.o] Error 1
      make: *** [mm] Error 2
      [ralf@denk linux-ip35]$
      
      Including <linux/sched.h> is a step into direction of include hell so
      fixed by adding a forward declaration of struct mm_struct instead.
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      45b35a5c
    • Lennert Buytenhek's avatar
      [PATCH] ep93xx build fix · fd0a0ac1
      Lennert Buytenhek authored
      From: Lennert Buytenhek <buytenh@wantstofly.org>
      
      The recent renaming of m48t86's ->readb() and ->writeb() platform driver
      methods (2d7b20c1) to ->readbyte() and
      ->writebyte() to fix the ia64 build broke the build of the cirrus ep93xx
      ARM platform.  This patch fixes it up.
      Signed-off-by: default avatarLennert Buytenhek <buytenh@wantstofly.org>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      fd0a0ac1
    • Andy Currid's avatar
      [PATCH] Fix HPET operation on 64-bit NVIDIA platforms · a2ef3a50
      Andy Currid authored
      From: "Andy Currid" <ACurrid@nvidia.com>
      
      This patch fixes a kernel panic during boot that occurs on NVIDIA platforms
      that have HPET enabled.
      
      When HPET is enabled, the standard timer IRQ is routed to IOAPIC pin 2 and is
      advertised as such in the ACPI APIC table - but an earlier workaround in the
      kernel was ignoring this override.  The fix is to honor timer IRQ overrides
      from ACPI when HPET is detected on an NVIDIA platform.
      Signed-off-by: default avatarAndy Currid <acurrid@nvidia.com>
      Cc: "Brown, Len" <len.brown@intel.com>
      Cc: "Yu, Luming" <luming.yu@intel.com>
      Cc: Andi Kleen <ak@muc.de>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      a2ef3a50
    • Andy Currid's avatar
      [PATCH] Fix HPET operation on 32-bit NVIDIA platforms · d44647b0
      Andy Currid authored
      From: "Andy Currid" <ACurrid@nvidia.com>
      
      This patch fixes a kernel panic during boot that occurs on NVIDIA platforms
      that have HPET enabled.
      
      When HPET is enabled, the standard timer IRQ is routed to IOAPIC pin 2 and is
      advertised as such in the ACPI APIC table - but an earlier workaround in the
      kernel was ignoring this override.  The fix is to honor timer IRQ overrides
      from ACPI when HPET is detected on an NVIDIA platform.
      Signed-off-by: default avatarAndy Currid <acurrid@nvidia.com>
      Cc: "Brown, Len" <len.brown@intel.com>
      Cc: "Yu, Luming" <luming.yu@intel.com>
      Cc: Andi Kleen <ak@muc.de>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      d44647b0