1. 02 Aug, 2007 6 commits
    • Linus Torvalds's avatar
      Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 · 1ed43950
      Linus Torvalds authored
      * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
        [IA64] ITC: Reduce rating for ITC clock if ITCs are drifty
        [IA64] SN2: Fix up sn2_rtc clock
        [IA64] Fix wrong access to irq_desc[] in iosapic_register_intr().
        [IA64] Fix possible race in destroy_and_reserve_irq()
        [IA64] Fix registered interrupt check
        [IA64] Remove a few duplicate includes
        [IA64] Allow smp_call_function_single() to current cpu
        [IA64] fix a few section mismatch warnings
      1ed43950
    • Linus Torvalds's avatar
      Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6 · 878701db
      Linus Torvalds authored
      * master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6:
        scc_pata: PIO fixes
        piix/slc90e66: fix PIO1 handling in ->speedproc method (take 2)
        jmicron: PIO fixes
        it8213: PIO fixes (take 2)
        cs5535: PIO fixes
        cs5520: fix PIO auto-tuning in ->ide_dma_check method
        drivers/scsi/ide-scsi.c: kmalloc + memset conversion to kzalloc
        drivers/ide/arm/icside.c: kmalloc + memset conversion to kzalloc
        ide: eliminate warnings in ide-tape.c
        ide: fix runtogether printk's in cmd64x IDE driver
        sis5513: Add FSC Amilo A1630 PCI subvendor/dev to laptops
        alim15x3: Correct HP detect
        ide: Fix an overrun found in the CS5535 IDE driver
      878701db
    • David Howells's avatar
      FRV: Enable the MB86943 PCI arbiter correctly · 04668873
      David Howells authored
      Enable the MB93090 motherboard's MB86943 PCI arbiter correctly by assigning to
      the register rather than comparing against it.  This is required to support
      bus mastering.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      04668873
    • Linus Torvalds's avatar
      Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev · b5625481
      Linus Torvalds authored
      * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
        pata_sis: fix MWDMA for <= UDMA66 chipsets and UDMA for UDMA33 chipsets
        libata: blacklist SAMSUNG HD401LJ / ZZ100-15 for NCQ
        ata_piix: add Tecra M3 to broken suspend blacklist
        ata_piix: implement piix_borken_suspend()
        pci: rename __pci_reenable_device() to pci_reenable_device()
        libata-sff; Unbreak non DMA capable controllers again
        pata_cmd64x: Correct the speed ranges
      b5625481
    • Thomas Gleixner's avatar
      genirq: temporary fix for level-triggered IRQ resend · 0fc4969b
      Thomas Gleixner authored
      Marcin Slusarz reported a ne2k-pci "hung network interface" regression.
      
      delayed disable relies on the ability to re-trigger the interrupt in the
      case that a real interrupt happens after the software disable was set.
      In this case we actually disable the interrupt on the hardware level
      _after_ it occurred.
      
      On enable_irq, we need to re-trigger the interrupt. On i386 this relies
      on a hardware resend mechanism (send_IPI_self()).
      
      Actually we only need the resend for edge type interrupts. Level type
      interrupts come back once enable_irq() re-enables the interrupt line.
      
      I assume that the interrupt in question is level triggered because it is
      shared and above the legacy irqs 0-15:
      
      	17:         12   IO-APIC-fasteoi   eth1, eth0
      
      Looking into the IO_APIC code, the resend via send_IPI_self() happens
      unconditionally. So the resend is done for level and edge interrupts.
      This makes the problem more mysterious.
      
      The code in question lib8390.c does
      
      	disable_irq();
      	fiddle_with_the_network_card_hardware()
      	enable_irq();
      
      The fiddle_with_the_network_card_hardware() might cause interrupts,
      which are cleared in the same code path again,
      
      Marcin found that when he disables the irq line on the hardware level
      (removing the delayed disable) the card is kept alive.
      
      So the difference is that we can get a resend on enable_irq, when an
      interrupt happens during the time, where we are in the disabled region.
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0fc4969b
    • Heiko Carstens's avatar
      Fix WARN_ON() on bitfield ops for all other archs · fd0cbdd3
      Heiko Carstens authored
      Fixes WARN_ON() on bitfiels ops for all architectures that have
      been left out in 8d4fbcfb.
      
      Cc: Alexey Dobriyan <adobriyan@sw.ru>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: Haavard Skinnemoen <hskinnemoen@atmel.com>
      Cc: Matthew Wilcox <matthew@wil.cx>
      Cc: Kyle McMartin <kyle@parisc-linux.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Acked-by: default avatarPaul Mundt <lethal@linux-sh.org>
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fd0cbdd3
  2. 01 Aug, 2007 28 commits
  3. 31 Jul, 2007 6 commits