01 Jun, 2007

6 commits

  • With these two lines in the reverse order the drives/block/ccis.c was
    oopsing in msi_free_irqs. Silly us calling writel on an area after
    we unmap it.

    BUG: unable to handle kernel paging request at virtual address f8b2200c
    printing eip:
    c01e9cc7
    *pdpt = 0000000000003001
    *pde = 0000000037e48067
    *pte = 0000000000000000
    Oops: 0002 [#1]
    SMP
    Modules linked in: cciss ipv6 parport_pc lp parport autofs4 i2c_dev i2c_core
    sunrpc loop dm_multipath button battery asus_acpi ac tg3 floppy sg dm_snapshot
    dm_zero dm_mirror ext3 jbd dm_mod ata_piix libata mptsas scsi_transport_sas
    mptspi scsi_transport_spi mptscsih mptbase sd_mod scsi_mod
    CPU: 1
    EIP: 0060:[] Not tainted VLI
    EFLAGS: 00010286 (2.6.22-rc2-gd2579053 #1)
    EIP is at msi_free_irqs+0x81/0xbe
    eax: f8b22000 ebx: f71f3180 ecx: f7fff280 edx: c1886eb8
    esi: f7c4e800 edi: f7c4ec48 ebp: 00000002 esp: f5a0dec8
    ds: 007b es: 007b fs: 00d8 gs: 0033 ss: 0068
    Process rmmod (pid: 5286, ti=f5a0d000 task=c47d2550 task.ti=f5a0d000)
    Stack: 00000002 f8b72294 00000400 f8b69ca7 f8b6bc6c 00000002 00000000 00000000
    00000000 00000000 00000000 f5a997f4 f8b69d61 f7c5a4b0 f7c4e848 f7c4e848
    f7c4e800 f7c4e800 f8b72294 f7c4e848 f8b72294 c01e3cdf f7c4e848 c024c469
    Call Trace:
    [] cciss_shutdown+0xae/0xc3 [cciss]
    [] cciss_remove_one+0xa5/0x178 [cciss]
    [] pci_device_remove+0x16/0x35
    [] __device_release_driver+0x71/0x8e
    [] driver_detach+0xa0/0xde
    [] bus_remove_driver+0x27/0x41
    [] pci_unregister_driver+0xb/0x13
    [] cciss_cleanup+0xf/0x51 [cciss]
    [] sys_delete_module+0x110/0x135
    [] sysenter_past_esp+0x5f/0x85

    Here's a patch that just reverses the 2 lines of code as Eric suggests. Please
    consider this for inclusion.

    Signed-off-by: Mike Miller
    Signed-off-by: Chase Maupin
    Signed-off-by: "Eric W. Biederman"
    Cc: Andi Kleen
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • "Mike Miller (OS Dev)" writes:

    Found what seems the problem with our vectors being listed backward. In
    drivers/pci/msi.c we should be using list_add_tail rather than list_add to
    preserve the ordering across various kernels. Please consider this for
    inclusion.

    Signed-off-by: "Eric W. Biederman"
    Screwed-up-by: Michael Ellerman
    Cc: "Mike Miller (OS Dev)"
    Cc: Andi Kleen
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • The Via VT3351 APIC does not play well with MSI and unleashes a flood
    of APIC errors when MSI is used to deliver interrupts. The problem
    was recently exposed when the atl1 network device driver, which enables
    MSI by default, stimulated APIC errors on an Asus M2V mainboard, which
    employs the Via VT3351.
    See http://bugzilla.kernel.org/show_bug.cgi?id=8472 for additional
    details on this bug.

    Signed-off-by: Jay Cliburn
    Signed-off-by: Greg Kroah-Hartman

    Jay Cliburn
     
  • pci_find_present() is only matching the last item in the list of ids.

    The break after the match is found only escapes the for loop, not the
    while loop, so found gets reset to NULL on the next pass.

    Signed-off-by: Ben Gardner
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Ben Gardner
     
  • I've been seeing lots of messages like these:

    eth0: No interrupt was generated using MSI, switching to INTx mode. Please
    report this failure to the PCI maintainer and include system chipset
    information.

    On several systems that use the following Severworks HT1000 (also sometimes
    labeled as a Broadcom chipset as well) bridge chips. It doesn't appear MSI
    works well (if at all) on these systems.

    Signed-off-by: Andy Gospodarek
    Cc: "Eric W. Biederman"
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Andy Gospodarek
     
  • In file included from drivers/pci/msi.c:22:
    include/asm/smp.h:17:26: asm/arch/smp.h: No such file or directory
    include/asm/smp.h:20:3: #error " included in non-SMP build"
    include/asm/smp.h:23:1: warning: "raw_smp_processor_id" redefined
    In file included from include/linux/sched.h:65,
    from include/linux/mm.h:4,
    from drivers/pci/msi.c:10:
    include/linux/smp.h:85:1: warning: this is the location of the previous
    definition

    Tested on powerpc, i386, and x86_64.

    Signed-off-by: Dan Williams
    Acked-by: Eric W. Biederman
    Signed-off-by: Greg Kroah-Hartman

    Dan Williams
     

31 May, 2007

1 commit

  • Commit c0affe9db42bf85f4a606b3262c35ec59a5d3788 doesn't work because
    the host controller is being quirked not a PCI bridge. This patch
    reverts the commit, rename quirk_svw_msi() to quirk_disable_all_msi()
    and use it instead.

    Signed-off-by: Tejun Heo
    Cc: Matias Alejandro Torres
    Cc: Greg K-H
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tejun Heo
     

22 May, 2007

1 commit

  • First thing mm.h does is including sched.h solely for can_do_mlock() inline
    function which has "current" dereference inside. By dealing with can_do_mlock()
    mm.h can be detached from sched.h which is good. See below, why.

    This patch
    a) removes unconditional inclusion of sched.h from mm.h
    b) makes can_do_mlock() normal function in mm/mlock.c
    c) exports can_do_mlock() to not break compilation
    d) adds sched.h inclusions back to files that were getting it indirectly.
    e) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were
    getting them indirectly

    Net result is:
    a) mm.h users would get less code to open, read, preprocess, parse, ... if
    they don't need sched.h
    b) sched.h stops being dependency for significant number of files:
    on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,
    after patch it's only 3744 (-8.3%).

    Cross-compile tested on

    all arm defconfigs, all mips defconfigs, all powerpc defconfigs,
    alpha alpha-up
    arm
    i386 i386-up i386-defconfig i386-allnoconfig
    ia64 ia64-up
    m68k
    mips
    parisc parisc-up
    powerpc powerpc-up
    s390 s390-up
    sparc sparc-up
    sparc64 sparc64-up
    um-x86_64
    x86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig

    as well as my two usual configs.

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

16 May, 2007

1 commit


12 May, 2007

3 commits

  • * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    pata_platform: don't use generic ata_port_start
    Use menuconfig objects: libata
    add the ATI SB700 SATA controller device id to AHCI pci table
    Add the combined mode for ATI SB700
    pata_pcmcia: recognize 2GB CompactFlash from Transcend
    git-libata-all: sata_via build fix
    libata-acpi: clean up parameters and misc stuff
    libata-acpi: s/CONFIG_SATA_ACPI/CONFIG_ATA_ACPI/
    libata: give devices one last chance even if recovery failed with -EINVAL
    libata: fallback to the other IDENTIFY on device error, take#2
    libata: ignore EH scheduling during initialization
    libata: clean up SFF init mess
    libata: implement libata.spindown_compat
    libata: reimplement suspend/resume support using sdev->manage_start_stop

    Linus Torvalds
     
  • Today's find is a triggered assertion in msi_free_irqs() when the system
    doesn't support MSI, in which case arch_setup_msi_irqs() always returns
    an error.

    The problem is that when this happens we branch into msi_free_irqs(), to
    which you added the following assertion loop:

    list_for_each_entry(entry, &dev->msi_list, list)
    BUG_ON(irq_has_action(entry->irq));

    Well, if arch_setup_msi_irqs() fails, entry->irq will be zero and
    although that's never assigned to any normal devices we use that IRQ
    number for the timer interrupt on sparc64 so this assertion triggers.

    Better to test for zero before doing the irq_has_action() assertion
    thing.

    Signed-off-by: David S. Miller
    Signed-off-by: Linus Torvalds

    David Miller
     
  • Besides those modes in ATI SB600 SATA controller, ATI SB700 supports one
    more mode:the combined mode.

    The combined mode is a Legacy IDE mode used for compatibility with some old
    OS without AHCI driver, but now it is not necessary for Linux since the
    kernel has supported AHCI.

    Signed-off-by: Luugi Marsan
    Cc: Jeff Garzik
    Cc: Tejun Heo
    Signed-off-by: Andrew Morton
    Signed-off-by: Jeff Garzik

    Henry Su
     

11 May, 2007

1 commit


09 May, 2007

3 commits

  • Signed-off-by: Randy Dunlap
    Signed-off-by: Adrian Bunk

    Randy Dunlap
     
  • * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (77 commits)
    [POWERPC] Abolish powerpc_flash_init()
    [POWERPC] Early serial debug support for PPC44x
    [POWERPC] Support for the Ebony 440GP reference board in arch/powerpc
    [POWERPC] Add device tree for Ebony
    [POWERPC] Add powerpc/platforms/44x, disable platforms/4xx for now
    [POWERPC] MPIC U3/U4 MSI backend
    [POWERPC] MPIC MSI allocator
    [POWERPC] Enable MSI mappings for MPIC
    [POWERPC] Tell Phyp we support MSI
    [POWERPC] RTAS MSI implementation
    [POWERPC] PowerPC MSI infrastructure
    [POWERPC] Rip out the existing powerpc msi stubs
    [POWERPC] Remove use of 4level-fixup.h for ppc32
    [POWERPC] Add powerpc PCI-E reset API implementation
    [POWERPC] Holly bootwrapper
    [POWERPC] Holly DTS
    [POWERPC] Holly defconfig
    [POWERPC] Add support for 750CL Holly board
    [POWERPC] Generalize tsi108 PCI setup
    [POWERPC] Generalize tsi108 PHY types
    ...

    Fixed conflict in include/asm-powerpc/kdebug.h manually

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Remove includes of where it is not used/needed.
    Suggested by Al Viro.

    Builds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,
    sparc64, and arm (all 59 defconfigs).

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

08 May, 2007

1 commit


05 May, 2007

1 commit


03 May, 2007

22 commits