1. 12 Jun, 2006 5 commits
    • 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
    • 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
    • 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 13 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
    • Matt Reimer's avatar
      [ARM] 3546/1: PATCH: subtle lost interrupts bug on i.MX · e2f04e18
      Matt Reimer authored
      Patch from Matt Reimer
      
      There is a subtle bug in the GPIO interrupt status register
      handling in arch/arm/mach-imx/irq.c:imx_gpio_ack_irq(). The
      documentation states that a 1 should be written to the relevant bit to
      acknowledge a GPIO interrupt, but that is not what the code does.
      
      The problem is that the |= writes back 1s for all the *other*
      interrupts represented in the register, so interrupts could get lost.
      For example, if interrupts are pending for GPIO B10 and B12, ISR_B
      would have the value 0x00001400. Then when the interrupt code handles
      GPIO B10, it eventually calls imx_gpio_ack_irq(IRQ_GPIOB(10)), which
      effectively does this:
      
      ISR_B |= 1 << 10;
      
      with the result that (0x00001400 | 0x00000400) is written, clearing
      the interrupt status bits for *both* GPIO B10 and B12.
      
      The fix is to write 1s only for the interrupts we want to clear.
      
      The same problem seems to be occurring in the DMA code; this patch
      does not address those issues.
      Acked-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
      Signed-off-by: default avatarMatt Reimer <mreimer@vpop.net>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      e2f04e18
    • Richard Purdie's avatar
      [ARM] 3547/1: PXA-OHCI: Allow platforms to specify a power budget · 0c27c5d5
      Richard Purdie authored
      Patch from Richard Purdie
      
      Add a power budget variable to the PXA OHCI platform data and add a
      default value for the spitz platform(s) which prevents known failures
      with certain USB devices.
      Signed-off-by: default avatarRichard Purdie <rpurdie@rpsys.net>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      0c27c5d5
    • Jeff Garzik's avatar
      Merge branch 'upstream-fixes' of... · cb15f81b
      Jeff Garzik authored
      Merge branch 'upstream-fixes' of git://lost.foo-projects.org/~ahkok/git/netdev-2.6 into upstream-fixes
      cb15f81b
    • Jeff Garzik's avatar
      Merge branch 'upstream-fixes' of... · 2e84abe7
      Jeff Garzik authored
      Merge branch 'upstream-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into upstream-fixes
      2e84abe7