20 Jul, 2007

1 commit

  • Transform some calls to kmalloc/memset to a single kzalloc (or kcalloc).

    Here is a short excerpt of the semantic patch performing
    this transformation:

    @@
    type T2;
    expression x;
    identifier f,fld;
    expression E;
    expression E1,E2;
    expression e1,e2,e3,y;
    statement S;
    @@

    x =
    - kmalloc
    + kzalloc
    (E1,E2)
    ... when != \(x->fld=E;\|y=f(...,x,...);\|f(...,x,...);\|x=E;\|while(...) S\|for(e1;e2;e3) S\)
    - memset((T2)x,0,E1);

    @@
    expression E1,E2,E3;
    @@

    - kzalloc(E1 * E2,E3)
    + kcalloc(E1,E2,E3)

    [akpm@linux-foundation.org: get kcalloc args the right way around]
    Signed-off-by: Yoann Padioleau
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Acked-by: Russell King
    Cc: Bryan Wu
    Acked-by: Jiri Slaby
    Cc: Dave Airlie
    Acked-by: Roland Dreier
    Cc: Jiri Kosina
    Acked-by: Dmitry Torokhov
    Cc: Benjamin Herrenschmidt
    Acked-by: Mauro Carvalho Chehab
    Acked-by: Pierre Ossman
    Cc: Jeff Garzik
    Cc: "David S. Miller"
    Acked-by: Greg KH
    Cc: James Bottomley
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yoann Padioleau
     

17 Jul, 2007

4 commits

  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (209 commits)
    [POWERPC] Create add_rtc() function to enable the RTC CMOS driver
    [POWERPC] Add H_ILLAN_ATTRIBUTES hcall number
    [POWERPC] xilinxfb: Parameterize xilinxfb platform device registration
    [POWERPC] Oprofile support for Power 5++
    [POWERPC] Enable arbitary speed tty ioctls and split input/output speed
    [POWERPC] Make drivers/char/hvc_console.c:khvcd() static
    [POWERPC] Remove dead code for preventing pread() and pwrite() calls
    [POWERPC] Remove unnecessary #undef printk from prom.c
    [POWERPC] Fix typo in Ebony default DTS
    [POWERPC] Check for NULL ppc_md.init_IRQ() before calling
    [POWERPC] Remove extra return statement
    [POWERPC] pasemi: Don't auto-select CONFIG_EMBEDDED
    [POWERPC] pasemi: Rename platform
    [POWERPC] arch/powerpc/kernel/sysfs.c: Move NUMA exports
    [POWERPC] Add __read_mostly support for powerpc
    [POWERPC] Modify sched_clock() to make CONFIG_PRINTK_TIME more sane
    [POWERPC] Create a dummy zImage if no valid platform has been selected
    [POWERPC] PS3: Bootwrapper support.
    [POWERPC] powermac i2c: Use mutex
    [POWERPC] Schedule removal of arch/ppc
    ...

    Fixed up conflicts manually in:

    Documentation/feature-removal-schedule.txt
    arch/powerpc/kernel/pci_32.c
    arch/powerpc/kernel/pci_64.c
    include/asm-powerpc/pci.h

    and asked the powerpc people to double-check the result..

    Linus Torvalds
     
  • I forgot to remove capability.h from mm.h while removing sched.h! This
    patch remedies that, because the only inline function which was using
    CAP_something was made out of line.

    Cross-compile tested without regressions on:

    all powerpc defconfigs
    all mips defconfigs
    all m68k defconfigs
    all arm defconfigs
    all ia64 defconfigs

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

    as well as my two usual configs.

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

    Alexey Dobriyan
     
  • We have an API function for this now.

    Cc: Zhang Yanmin
    Cc: Greg KH
    Cc: Bartlomiej Zolnierkiewicz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Before calling init_hwif_default, ide_unregister gets lock ide_lock and
    disables irq. init_hwif_default calls ide_default_io_base which calls
    pci_get_device and later pci_get_subsys tries to apply for semaphore
    pci_bus_sem and goes to sleep.

    Mostly, pci_get_device should be called when irq is turned on.

    ide_default_io_base just needs find if list pci_devices is empty.

    Signed-off-by: Zhang Yanmin
    Cc: Greg KH
    Cc: Bartlomiej Zolnierkiewicz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Zhang, Yanmin
     

13 Jul, 2007

2 commits

  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    [IA64] Support multiple CPUs going through OS_MCA
    [IA64] silence GCC ia64 unused variable warnings
    [IA64] prevent MCA when performing MMIO mmap to PCI config space
    [IA64] add sn_register_pmi_handler oemcall
    [IA64] Stop bit for brl instruction
    [IA64] SN: Correct ROM resource length for BIOS copy
    [IA64] Don't set psr.ic and psr.i simultaneously

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: (34 commits)
    PCI: Only build PCI syscalls on architectures that want them
    PCI: limit pci_get_bus_and_slot to domain 0
    PCI: hotplug: acpiphp: avoid acpiphp "cannot get bridge info" PCI hotplug failure
    PCI: hotplug: acpiphp: remove hot plug parameter write to PCI host bridge
    PCI: hotplug: acpiphp: fix slot poweroff problem on systems without _PS3
    PCI: hotplug: pciehp: wait for 1 second after power off slot
    PCI: pci_set_power_state(): check for PM capabilities earlier
    PCI: cpci_hotplug: Convert to use the kthread API
    PCI: add pci_try_set_mwi
    PCI: pcie: remove SPIN_LOCK_UNLOCKED
    PCI: ROUND_UP macro cleanup in drivers/pci
    PCI: remove pci_dac_dma_... APIs
    PCI: pci-x-pci-express-read-control-interfaces cleanups
    PCI: Fix typo in include/linux/pci.h
    PCI: pci_ids, remove double or more empty lines
    PCI: pci_ids, add atheros and 3com_2 vendors
    PCI: pci_ids, reorder some entries
    PCI: i386: traps, change VENDOR to DEVICE
    PCI: ATM: lanai, change VENDOR to DEVICE
    PCI: Change all drivers to use pci_device->revision
    ...

    Linus Torvalds
     

12 Jul, 2007

25 commits

  • Well, first of all, I don't want to change so many files either.

    What I do:
    Adding a new parameter "struct bin_attribute *" in the
    .read/.write methods for the sysfs binary attributes.

    In fact, only the four lines change in fs/sysfs/bin.c and
    include/linux/sysfs.h do the real work.
    But I have to update all the files that use binary attributes
    to make them compatible with the new .read and .write methods.
    I'm not sure if I missed any. :(

    Why I do this:
    For a sysfs attribute, we can get a pointer pointing to the
    struct attribute in the .show/.store method,
    while we can't do this for the binary attributes.
    I don't know why this is different, but this does make it not
    so handy to use the binary attributes as the regular ones.
    So I think this patch is reasonable. :)

    Who benefits from it:
    The patch that exposes ACPI tables in sysfs
    requires such an improvement.
    All the table binary attributes share the same .read method.
    Parameter "struct bin_attribute *" is used to get
    the table signature and instance number which are used to
    distinguish different ACPI table binary attributes.

    Without this parameter, we need to offer different .read methods
    for different ACPI table binary attributes.
    This is impossible as there are various ACPI tables on different
    platforms, and we don't know what they are until they are loaded.

    Signed-off-by: Zhang Rui
    Signed-off-by: Greg Kroah-Hartman

    Zhang Rui
     
  • sysfs is now completely out of driver/module lifetime game. After
    deletion, a sysfs node doesn't access anything outside sysfs proper,
    so there's no reason to hold onto the attribute owners. Note that
    often the wrong modules were accounted for as owners leading to
    accessing removed modules.

    This patch kills now unnecessary attribute->owner. Note that with
    this change, userland holding a sysfs node does not prevent the
    backing module from being unloaded.

    For more info regarding lifetime rule cleanup, please read the
    following message.

    http://article.gmane.org/gmane.linux.kernel/510293

    (tweaked by Greg to not delete the field just yet, to make it easier to
    merge things properly.)

    Signed-off-by: Tejun Heo
    Cc: Cornelia Huck
    Cc: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Tejun Heo
     
  • The PCI syscalls are built on every architecture except X86, but only
    a few have ever hooked them up. Use a new Kconfig symbol to save a
    couple of kB on the architectures that have never used the syscalls.
    Tested on x86 and ia64 only.

    Signed-off-by: Matthew Wilcox
    Signed-off-by: Greg Kroah-Hartman

    Matthew Wilcox
     
  • Limit pci_get_bus_and_slot() to domain (segment) 0 since domain is not
    specified in the function call and defaulting to domain 0 is the only
    reasonable thing to do (rather than returning a device from some other
    unknown domain).

    Signed-off-by: Randy Dunlap
    Acked-by: H. Peter Anvin
    Signed-off-by: Greg Kroah-Hartman

    Randy Dunlap
     
  • On some systems, the ACPI bus check event can reference a bridge that is
    higher in the ACPI hierarchy than the bridge immediately above the
    hotplug PCI slot into which an adapter was just inserted. The current
    'acpiphp' code expects the bus check event to reference the bridge
    immediately above the slot that received the adapter so the hotplug
    operation can fail on these systems with the message "acpiphp_glue:
    cannot get bridge info". This change fixes the problem by
    re-enumerating all slots that lie below the bridge referenced by the bus
    check event, including those slots that may be located under lower level
    PCI-to-PCI bridge(s).

    Signed-off-by: Gary Hade
    Cc:
    Signed-off-by: Kristen Carlson Accardi
    Signed-off-by: Greg Kroah-Hartman

    Gary Hade
     
  • acpiphp is writing hot plug parameters to the PCI host bridge
    PCI config space. This patch removes the incorrect operation.

    Signed-off-by: Gary Hade
    Cc:
    Signed-off-by: Kristen Carlson Accardi
    Signed-off-by: Greg Kroah-Hartman

    Gary Hade
     
  • On systems where the optional _PS3 ACPI object is not implemented
    acpiphp fails to power off the slot. This is happening because the
    current code does not attempt to remove power using the _EJ0 ACPI
    object. This patch restores the _EJ0 evaluation attempt which was
    apparently inadvertently removed from the power-off sequence when the
    _EJ0 evaluation code was relocated from power_off_slot() to
    acpiphp_eject_slot().

    Signed-off-by: Gary Hade
    Cc:
    Signed-off-by: Kristen Carlson Accardi
    Signed-off-by: Greg Kroah-Hartman

    Gary Hade
     
  • According to the specification, we must wait for at least 1 second
    after turning power off before taking any action that relies on power
    having been removed from the slot/adapter.

    Signed-off-by: Kenji Kaneshige
    Signed-off-by: Kristen Carlson Accardi
    Signed-off-by: Greg Kroah-Hartman

    Kenji Kaneshige
     
  • Check for PCI_CAP_ID_PM before checking the device state. Apparently fixes
    some log spam via the 3c59x driver.

    Signed-off-by: Andrew Lunn
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Andrew Lunn
     
  • Signed-off-by: Christoph Hellwig
    Signed-off-by: Scott Murray
    Acked-by: Kristen Carlson Accardi
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Scott Murray
     
  • As suggested by Andrew, add pci_try_set_mwi(), which does not require
    return-value checking.

    - add pci_try_set_mwi() without __must_check
    - make it return 0 on success, errno if the "try" failed or error
    - review callers

    Signed-off-by: Randy Dunlap
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Randy Dunlap
     
  • Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Milind Arun Choudhary
     
  • ROUND_UP macro cleanup, use ALIGN where ever appropriate

    Signed-off-by: Milind Arun Choudhary
    Acked-by: Scott Murray
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Milind Arun Choudhary
     
  • - remove unneeded local

    - 80-col fix

    Cc: Peter Oruba
    Cc: Roland Dreier
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Andrew Morton
     
  • Instead of all drivers reading pci config space to get the revision
    ID, they can now use the pci_device->revision member.

    This exposes some issues where drivers where reading a word or a dword
    for the revision number, and adding useless error-handling around the
    read. Some drivers even just read it for no purpose of all.

    In devices where the revision ID is being copied over and used in what
    appears to be the equivalent of hotpath, I have left the copy code
    and the cached copy as not to influence the driver's performance.

    Compile tested with make all{yes,mod}config on x86_64 and i386.

    Signed-off-by: Auke Kok
    Acked-by: Dave Jones
    Signed-off-by: Greg Kroah-Hartman

    Auke Kok
     
  • Currently there are 97 occurrences where drivers need the pci
    revision ID. We can do this once for all devices. Even the pci
    subsystem needs the revision several times for quirks. The extra
    u8 member pads out nicely in the pci_dev struct.

    Signed-off-by: Auke Kok
    Signed-off-by: Greg Kroah-Hartman

    Auke Kok
     
  • On Mon, Apr 02, 2007 at 10:47:45PM -0700, Andrew Morton wrote:
    >...
    > Changes since 2.6.21-rc5-mm3:
    >...
    > +fix-82875-pci-setup.patch
    >...
    > Misc
    >...

    pci_proc_attach_device() no longer has any modular user.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Greg Kroah-Hartman

    Adrian Bunk
     
  • Function to clear bogus correctable errors. Analog to pci_aer_uncorrect_are_status.
    The Marvell chips seem to start out with a bogus value that needs to be
    cleared.

    Yanmin ported it to 2.6.22-rc4 by fixing a fuzz patch applying info.

    Signed-off-by: Stephen Hemminger
    Acked-by: Zhang Yanmin
    Signed-off-by: Greg Kroah-Hartman

    Stephen Hemminger
     
  • Below patch fixes aer driver error information and enables aer driver
    although CONFIG_ACPI=n.

    As a matter of fact, the new patch is created from below 2 patches plus
    a minor patch apply fuzz fixing. Because the second patch fixed a compilation
    error introduced by the first patch, I merge them to facilitate bisect.

    1) http://marc.info/?l=linux-kernel&m=117783233918191&w=2;
    2) http://marc.info/?l=linux-mm-commits&m=118046936720790&w=2

    Signed-off-by: Zhang Yanmin
    Signed-off-by: Michael Ellerman
    Signed-off-by: Greg Kroah-Hartman

    Zhang, Yanmin
     
  • The slot control register is modified as follows:

    (1) Read the register value
    (2) Change the value
    (3) Write the value to the register

    Those must be done atomically, otherwise writing to control register
    would cause an unexpected result.

    Signed-off-by: Kenji Kaneshige
    Signed-off-by: Kristen Carlson Accardi
    Signed-off-by: Greg Kroah-Hartman

    Kenji Kaneshige
     
  • Currently pcibios_add_platform_entries() returns void, but could fail,
    so instead have it return an int and propagate errors up to
    pci_create_sysfs_dev_files().

    Fixes:
    arch/powerpc/kernel/pci_64.c: In function 'pcibios_add_platform_entries':
    arch/powerpc/kernel/pci_64.c:878: warning: ignoring return value of
    'device_create_file', declared with attribute warn_unused_result
    arch/powerpc/kernel/pci_32.c: In function 'pcibios_add_platform_entries':
    arch/powerpc/kernel/pci_32.c:1043: warning: ignoring return value of
    'device_create_file', declared with attribute warn_unused_result

    Signed-off-by: Michael Ellerman
    Signed-off-by: Greg Kroah-Hartman

    Michael Ellerman
     
  • I'm not sure if this is going to fly, weak symbols work on the compilers I'm
    using, but whether they work for all of the affected architectures I can't say.
    I've cc'ed as many arch maintainers/lists as I could find.

    But assuming they do, we can use a weak empty definition of
    pcibios_add_platform_entries() to avoid having an empty definition on every
    arch.

    Signed-off-by: Michael Ellerman
    Signed-off-by: Greg Kroah-Hartman

    Michael Ellerman
     
  • This patch introduces an interface to read and write PCI-X / PCI-Express
    maximum read byte count values from PCI config space. There is a second
    function that returns the maximum _designed_ read byte count, which marks the
    maximum value for a device, since some drivers try to set MMRBC to the
    highest allowed value and rely on such a function.

    Based on patch set by Stephen Hemminger

    Cc: Stephen Hemminger
    Signed-off-by: Peter Oruba
    Signed-off-by: Greg Kroah-Hartman

    Peter Oruba
     
  • Signed-off-by: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    Alan Cox
     
  • Back in commit 8c4b2cf9af9b4ecc29d4f0ec4ecc8e94dc4432d7, Bernhard said
    that he would fix up all instances of when this message happens. So
    point people at him instead of the linux-kernel list which can not fix
    things up.

    Cc: Bernhard Kaindl
    Cc: Dave Jones
    Cc: Andrew Morton
    Cc: Miles Lane
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

10 Jul, 2007

1 commit


14 Jun, 2007

1 commit

  • This rewrites pretty much from scratch the handling of MMIO and PIO
    space allocations on powerpc64. The main goals are:

    - Get rid of imalloc and use more common code where possible
    - Simplify the current mess so that PIO space is allocated and
    mapped in a single place for PCI bridges
    - Handle allocation constraints of PIO for all bridges including
    hot plugged ones within the 2GB space reserved for IO ports,
    so that devices on hotplugged busses will now work with drivers
    that assume IO ports fit in an int.
    - Cleanup and separate tracking of the ISA space in the reserved
    low 64K of IO space. No ISA -> Nothing mapped there.

    I booted a cell blade with IDE on PIO and MMIO and a dual G5 so
    far, that's it :-)

    With this patch, all allocations are done using the code in
    mm/vmalloc.c, though we use the low level __get_vm_area with
    explicit start/stop constraints in order to manage separate
    areas for vmalloc/vmap, ioremap, and PCI IOs.

    This greatly simplifies a lot of things, as you can see in the
    diffstat of that patch :-)

    A new pair of functions pcibios_map/unmap_io_space() now replace
    all of the previous code that used to manipulate PCI IOs space.
    The allocation is done at mapping time, which is now called from
    scan_phb's, just before the devices are probed (instead of after,
    which is by itself a bug fix). The only other caller is the PCI
    hotplug code for hot adding PCI-PCI bridges (slots).

    imalloc is gone, as is the "sub-allocation" thing, but I do beleive
    that hotplug should still work in the sense that the space allocation
    is always done by the PHB, but if you unmap a child bus of this PHB
    (which seems to be possible), then the code should properly tear
    down all the HPTE mappings for that area of the PHB allocated IO space.

    I now always reserve the first 64K of IO space for the bridge with
    the ISA bus on it. I have moved the code for tracking ISA in a separate
    file which should also make it smarter if we ever are capable of
    hot unplugging or re-plugging an ISA bridge.

    This should have a side effect on platforms like powermac where VGA IOs
    will no longer work. This is done on purpose though as they would have
    worked semi-randomly before. The idea at this point is to isolate drivers
    that might need to access those and fix them by providing a proper
    function to obtain an offset to the legacy IOs of a given bus.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Paul Mackerras

    Benjamin Herrenschmidt
     

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