1. 06 3月, 2007 10 次提交
    • B
      pata_pdc202xx_old: fix data corruption and other problems · 63ed7101
      Bartlomiej Zolnierkiewicz 提交于
      Fix wrong "port" calculations in pdc202xx_{configure_piomode,set_dmamode}()
      They were broken for all configurations except one (master device on primary
      channel, no other devices) and as a result device settings + PIO/DMA timings
      were being programmed into the wrong PCI registers.  This could result in
      a large variety of problems including data corruption, hangs etc. (depending
      on devices used and your luck :-).
      
        ap->port_no   ap->devno   used PCI registers   correct PCI registers
                  0           0            0x60-0x62               0x60-0x62
                  0           1            0x62-0x64               0x64-0x66
                  1           0            0x64-0x66               0x68-0x6a
                  1           1            0x66-0x68               0x6c-0x6e
      
      Also forward port recent fixes from drivers/ide pdc202xx_old driver:
      
      * fix XFER_MW_DMA0 timings (they were overclocked, use the official ones)
      
      * fix bitmasks for clearing bits of register B:
      
        - when programming DMA mode bit 0x10 of register B was cleared which
          resulted in overclocked PIO timing setting (iff PIO0 was used)
      
        - when programming PIO mode bits 0x18 weren't cleared so suboptimal
          timings were used for PIO1-4 if PIO0 was previously set (bit 0x10)
          and for PIO0/3/4 if PIO1/2 was previously set (bit 0x08)
      
      and finally bump driver version.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      63ed7101
    • M
      pata_legacy: fix io/irq mismatch · 8b966ddd
      Mikael Pettersson 提交于
      pata_legacy fails to detect the disk on my old ISA/VLB 486:
      it starts to probe io=0x1f0 ctr=0x3f6 irq=15, complains
      loudly about IDENTIFYs timing out, and finally fails.
      (Sorry I couldn't capture the kernel's boot messages.)
      
      It turns out that the driver's mapping from io to irq in
      legacy_irq[] is wrong: index 0 for io=0x1f0 has irq=15 but
      should have irq=14, and index 1 for io=0x170 has irq=14 but
      should have irq=15. This is confirmed by a comparison with
      include/asm-i386/ide.h:ide_default_irq().
      
      This patch swaps the first two elements in legacy_irq[],
      which makes pata_legacy work on my 486.
      Signed-off-by: NMikael Pettersson <mikpe@it.uu.se>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      8b966ddd
    • J
      ahci: RAID mode SATA patch for Intel ICH9M · 8af12cdb
      Jason Gaston 提交于
      This patch adds the Intel ICH9M RAID controller DID for SATA support.
      Signed-off-by: NJason Gaston <jason.d.gaston@intel.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      8af12cdb
    • I
      [PATCH] paravirt: re-enable COMPAT_VDSO · c3442e29
      Ingo Molnar 提交于
      CONFIG_PARAVIRT broke old glibc bootup: it silently turned off the
      selectability of CONFIG_COMPAT_VDSO and thus rendered distro kernels
      unbootable on old-style VDSO glibc setups.
      
      the proper solution is to keep COMPAT_VDSO available - if a hypervisor
      needs any modification of that concept then we'll judge those changes in
      full context, once those changes are submitted.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c3442e29
    • L
      Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight · 227c5fe7
      Linus Torvalds 提交于
      * 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight:
        backlight: Allow enable/disable of fb backlights, fixing regressions
        backlight: Fix nvidia backlight initial brightness
      227c5fe7
    • I
      [PATCH] disable NMI watchdog by default · 6ebf622b
      Ingo Molnar 提交于
      there's a new NMI watchdog related problem: KVM crashes on certain
      bzImages because ... we enable the NMI watchdog by default (even if the
      user does not ask for it) , and no other OS on this planet does that so
      KVM doesnt have emulation for that yet. So KVM injects a #GP, which
      crashes the Linux guest:
      
       general protection fault: 0000 [#1]
       PREEMPT SMP
       Modules linked in:
       CPU:    0
       EIP:    0060:[<c011a8ae>]    Not tainted VLI
       EFLAGS: 00000246   (2.6.20-rc5-rt0 #3)
       EIP is at setup_apic_nmi_watchdog+0x26d/0x3d3
      
      and no, i did /not/ request an nmi_watchdog on the boot command line!
      
      Solution: turn off that darn thing! It's a debug tool, not a 'make life
      harder' tool!!
      
      with this patch the KVM guest boots up just fine.
      
      And with this my laptop (Lenovo T60) also stopped its sporadic hard
      hanging (sometimes in acpi_init(), sometimes later during bootup,
      sometimes much later during actual use) as well. It hung with both
      nmi_watchdog=1 and nmi_watchdog=2, so it's generally the fact of NMI
      injection that is causing problems, not the NMI watchdog variant, nor
      any particular bootup code.
      
      [ NMI breaks on some systems, esp in combination with SMM -Arjan ]
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Acked-by: NArjan van de Ven <arjan@linux.intel.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6ebf622b
    • I
      [PATCH] paravirt: let users decide whether they want VMI · 0d05ad2c
      Ingo Molnar 提交于
      do not use default=y for CONFIG_VMI (we do not do that for any driver or
      special-hardware feature): the overwhelming majority of Linux users does
      not need it, and interested users and distributions can enable it
      as-needed.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0d05ad2c
    • I
      [PATCH] paravirt: clarify VMI description · e9417fb3
      Ingo Molnar 提交于
      Clarify the description of the CONFIG_VMI option: describe the reality
      that VMI is a VMWare-only interface for now. Once that changes and
      another hypervisor adopts the VMI ABI we can change the text.
      
      As can be seen from the Xen paravirtualization patches submitted to lkml
      the Xen project has chosen its own, non-VMI interface between Xen and
      the para-Linux - so remove Xen from the description.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e9417fb3
    • I
      [PATCH] paravirt: remove NO_IDLE_HZ on x86 · 3f1a73b6
      Ingo Molnar 提交于
      Temove the mistaken turning on of NO_IDLE_HZ on x86+PARAVIRT kernels.
      
      It's an obsolete, limited form of dynticks.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Acked-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3f1a73b6
    • D
      [PATCH] video/aty/mach64_ct.c: fix bogus delay loop · 8690ba44
      David Miller 提交于
      CT based mach64 cards were reported to hang on sparc64 boxes when
      compiled with gcc-4.1.x and later.
      
      Looking at this piece of code, it's no surprise.  A critical
      delay was implemented as an empty for() loop, and gcc 4.0.x
      and previous did not optimize it away, so we did get a delay.
      
      But gcc-4.1.x and later can optimize it away, and we get crashes.
      
      Use a real udelay() to fix this.  Fix verified on SunBlade100.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8690ba44
  2. 05 3月, 2007 30 次提交