commit 1b40a895df6c7d5a80e71f65674060b03d84bbef
Merge: 97f8571... 35baff2...
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sun Jul 6 11:16:23 2008 -0700

    Merge branch 'kvm-updates-2.6.26' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm
    
    * 'kvm-updates-2.6.26' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm:
      KVM: IOAPIC: Fix level-triggered irq injection hang
      x86: KVM guest: Add memory clobber to hypercalls

commit 97f8571e663c808ad2d01a396627235167291556
Author: Philipp Zabel <philipp.zabel@gmail.com>
Date:   Sun Jul 6 01:15:34 2008 +0200

    pxamci: fix byte aligned DMA transfers
    
    The pxa27x DMA controller defaults to 64-bit alignment. This caused
    the SCR reads to fail (and, depending on card type, error out) when
    card->raw_scr was not aligned on a 8-byte boundary.
    
    For performance reasons all scatter-gather addresses passed to
    pxamci_request should be aligned on 8-byte boundaries, but if
    this can't be guaranteed, byte aligned DMA transfers in the
    have to be enabled in the controller to get correct behaviour.
    
    Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
    Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 09ca8adbe9f724a7e96f512c0039c4c4a1c5dcc0
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sun Jul 6 10:27:25 2008 -0700

    Revert "USB: don't explicitly reenable root-hub status interrupts"
    
    This reverts commit e872154921a6b5256a3c412dd69158ac0b135176.
    
    Andrey Borzenkov reports that it resulted in a totally hung machine for
    him when loading the OHCI driver.  Extensive netconsole capture with
    SysRq output shows that modprobe gets stuck in ohci_hub_status_data()
    when probing and enabling the OHCI controller, see for example
    
    	http://lkml.org/lkml/2008/7/5/236
    
    for an analysis.
    
    The problem appears to be an interrupt flood triggered by the commit
    that gets reverted, and Andrey confirmed that the revert makes things
    work for him again.
    
    Reported-and-tested-by: Andrey Borzenkov <arvidjaar@mail.ru>
    Acked-by: Alan Stern <stern@rowland.harvard.edu>
    Acked-by: David Brownell <david-b@pacbell.net>
    Cc: Greg Kroah-Hartman <gregkh@suse.de>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

commit 35baff256d8fe1eec0b8988fcb5cde80df7bfa1a
Author: Mark McLoughlin <markmc@redhat.com>
Date:   Fri Jul 4 18:23:15 2008 +0100

    KVM: IOAPIC: Fix level-triggered irq injection hang
    
    The "remote_irr" variable is used to indicate an interrupt
    which has been received by the LAPIC, but not acked.
    
    In our EOI handler, we unset remote_irr and re-inject the
    interrupt if the interrupt line is still asserted.
    
    However, we do not set remote_irr here, leading to a
    situation where if kvm_ioapic_set_irq() is called, then we go
    ahead and call ioapic_service(). This means that IRR is
    re-asserted even though the interrupt is currently in service
    (i.e. LAPIC IRR is cleared and ISR/TMR set)
    
    The issue with this is that when the currently executing
    interrupt handler finishes and writes LAPIC EOI, then TMR is
    unset and EOI sent to the IOAPIC. Since IRR is now asserted,
    but TMR is not, then when the second interrupt is handled,
    no EOI is sent and if there is any pending interrupt, it is
    not re-injected.
    
    This fixes a hang only seen while running mke2fs -j on an
    8Gb virtio disk backed by a fully sparse raw file, with
    aliguori "avoid fragmented virtio-blk transfers by copying"
    changes.
    
    Signed-off-by: Mark McLoughlin <markmc@redhat.com>
    Acked-by: Marcelo Tosatti <mtosatti@redhat.com>
    Signed-off-by: Avi Kivity <avi@qumranet.com>

commit ca3739327b89bb4053a62ac41b67b106c1967ab0
Author: Anthony Liguori <aliguori@us.ibm.com>
Date:   Thu Jul 3 19:02:36 2008 +0300

    x86: KVM guest: Add memory clobber to hypercalls
    
    Hypercalls can modify arbitrary regions of memory.  Make sure to indicate this
    in the clobber list.  This fixes a hang when using KVM_GUEST kernel built with
    GCC 4.3.0.
    
    This was originally spotted and analyzed by Marcelo.
    
    Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
    Signed-off-by: Avi Kivity <avi@qumranet.com>