17 Sep, 2008

2 commits

  • pci_get_subsys() changed in 2.6.26 so that the from pointer is modified
    when the call is being invoked, so fix up the 'const' marking of it that
    the compiler is complaining about.

    Reported-by: Rufus & Azrael
    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Jesse Barnes

    Greg KH
     
  • pcie_aspm=force did not work because aspm_force was being double negated
    leading to the sanity check failing. Moving a bracket should fix this.

    Acked-by: Alan Cox
    Signed-off-by: Sitsofe Wheeler
    Signed-off-by: Jesse Barnes

    Sitsofe Wheeler
     

14 Sep, 2008

1 commit


13 Sep, 2008

1 commit


11 Sep, 2008

1 commit

  • This patch fixes an obvious bug (loop was never entered) caused by
    commit 820943b6fc4781621dee52ba026106758a727dd3
    (pciehp: cleanup pcie_poll_cmd).

    Reported-by: Adrian Bunk
    Signed-off-by: Adrian Bunk
    Acked-by: Kenji Kaneshige
    Signed-off-by: Jesse Barnes

    Adrian Bunk
     

10 Sep, 2008

4 commits

  • Commit fe99740cac117f208707488c03f3789cf4904957 (construct one
    fakephp slot per PCI slot) introduced a regression, causing a
    deadlock when removing a PCI device.

    We also never actually removed the device from the PCI core.

    So we:

    - remove the device from the PCI core
    - do not directly call remove_slot() to prevent deadlock

    Yu Zhao reported and diagnosed this defect.

    Signed-off-by: Alex Chiang
    Acked-by: Yu Zhao
    Cc: Matthew Wilcox
    Cc: Kristen Carlson Accardi
    Signed-off-by: Andrew Morton
    Signed-off-by: Jesse Barnes

    Alex Chiang
     
  • Again, the cleaned up code introduced some resource warnings:
    drivers/pci/setup-bus.c: In function 'pci_bus_dump_res':
    drivers/pci/setup-bus.c:542: warning: format '%llx' expects type 'long long unsigned int', but argument 5 has type 'resource_size_t'
    drivers/pci/setup-bus.c:542: warning: format '%llx' expects type 'long long unsigned int', but argument 6 has type 'resource_size_t'

    Fix those up too.

    Signed-off-by: Johann Felix Soden
    Signed-off-by: Jesse Barnes

    Johann Felix Soden
     
  • The cleaned up resource code in probe.c introduced some warnings:
    drivers/pci/probe.c: In function 'pci_read_bridge_bases':
    drivers/pci/probe.c:386: warning: format '%llx' expects type 'long long unsigned int', but argument 3 has type 'resource_size_t'
    drivers/pci/probe.c:386: warning: format '%llx' expects type 'long long unsigned int', but argument 4 has type 'resource_size_t'
    drivers/pci/probe.c:398: warning: format '%llx' expects type 'long long unsigned int', but argument 3 has type 'resource_size_t'
    drivers/pci/probe.c:398: warning: format '%llx' expects type 'long long unsigned int', but argument 4 has type 'resource_size_t'
    drivers/pci/probe.c:434: warning: format '%llx' expects type 'long long unsigned int', but argument 4 has type 'resource_size_t'
    drivers/pci/probe.c:434: warning: format '%llx' expects type 'long long unsigned int', but argument 5 has type 'resource_size_t'

    So fix them up.

    Signed-off-by: Johann Felix Soden
    Signed-off-by: Jesse Barnes

    Johann Felix Soden
     
  • Some BIOSes (the Intel DG33BU, for example) wrongly claim to have DMAR
    when they don't. Avoid the resulting crashes when it doesn't work as
    expected.

    Signed-off-by: David Woodhouse
    Acked-by: Ingo Molnar
    Signed-off-by: Jesse Barnes

    David Woodhouse
     

04 Sep, 2008

1 commit

  • Commit 884525655d07fdee9245716b998ecdc45cdd8007 ("PCI: clean up resource
    alignment management") changed the resource handling to mark how a
    resource was aligned on a per-resource basis.

    Thus, instead of looking at the resource number to determine whether it
    was a bridge resource or a regular resource (they have different
    alignment rules), we should just ask the resource for its alignment
    directly.

    The reason this broke only cardbus resources was that for the other
    types of resources, the old way of deciding alignment actually still
    happened to work. But CardBus bridge resources had been changed by
    commit 934b7024f0ed29003c95cef447d92737ab86dc4f ("Fix cardbus resource
    allocation") to look more like regular resources than PCI bridge
    resources from an alignment handling standpoint.

    Reported-and-tested-by: Andrew Morton
    Cc: Ivan Kokshaysky
    Cc: Jesse Barnes
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

22 Aug, 2008

3 commits

  • Alex Chiang and Matthew Wilcox pointed out that pci_get_dev_by_id() does
    not properly decrement the reference on the from pointer if it is
    present, like the documentation for the function states it will.

    It fixes a pretty bad leak in the hotplug core (we were leaking an
    entire struct pci_dev for each function of each offlined card, the first
    time around; subsequent onlines/offlines were ok).

    Cc: Matthew Wilcox
    Cc: stable
    Tested-by: Alex Chiang
    Acked-by: Alex Chiang
    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Jesse Barnes

    Greg KH
     
  • Commit ef0ff95f136f0f2d035667af5d18b824609de320 (shpchp: fix slot name)
    introduces the shpchp_slot_with_bus module parameter, which was intended
    to help work around broken firmware that assigns the same name to multiple
    slots.

    Commit b3bd307c628af2f0a581c42d5d7e4bcdbbf64b6a (shpchp: add message about
    shpchp_slot_with_bus option) tells the user to use the above parameter
    in the event of a name collision.

    This approach is sub-optimal because it requires too much work from
    the user.

    Instead, let's rename the slot on behalf of the user. If firmware
    assigns the name N to multiple slots, then:

    The first registered slot is assigned N
    The second registered slot is assigned N-1
    The third registered slot is assigned N-2
    The Mth registered slot becomes N-M

    In the event we overflow the slot->name parameter, we report an
    error to the user.

    This is a temporary fix until the entire PCI core can be reworked
    such that individual drivers no longer have to manage their own
    slot names.

    Tested-by: Kenji Kaneshige
    Acked-by: Kenji Kaneshige
    Signed-off-by: Alex Chiang
    Signed-off-by: Jesse Barnes

    Alex Chiang
     
  • Commit 3800345f723fd130d50434d4717b99d4a9f383c8 (pciehp: fix slot name)
    introduces the pciehp_slot_with_bus module parameter, which was intended
    to help work around broken firmware that assigns the same name to multiple
    slots.

    Commit 9e4f2e8d4ddb04ad16a3828cd9a369a5a5287009 (pciehp: add message about
    pciehp_slot_with_bus option) tells the user to use the above parameter
    in the event of a name collision.

    This approach is sub-optimal because it requires too much work from
    the user.

    Instead, let's rename the slot on behalf of the user. If firmware
    assigns the name N to multiple slots, then:

    The first registered slot is assigned N
    The second registered slot is assigned N-1
    The third registered slot is assigned N-2
    The Mth registered slot becomes N-M

    In the event we overflow the slot->name parameter, we report an
    error to the user.

    This is a temporary fix until the entire PCI core can be reworked
    such that individual drivers no longer have to manage their own
    slot names.

    Tested-by: Kenji Kaneshige
    Acked-by: Kenji Kaneshige
    Signed-off-by: Alex Chiang
    Signed-off-by: Jesse Barnes

    Alex Chiang
     

19 Aug, 2008

4 commits


08 Aug, 2008

3 commits


07 Aug, 2008

2 commits


29 Jul, 2008

9 commits


25 Jul, 2008

1 commit


23 Jul, 2008

3 commits

  • drivers/pci/proc.c:91:3: warning: cast from restricted __le16
    drivers/pci/proc.c:100:3: warning: cast from restricted __le32
    drivers/pci/proc.c:109:3: warning: cast from restricted __le16
    drivers/pci/proc.c:161:40: warning: cast to restricted __le16
    drivers/pci/proc.c:170:41: warning: cast to restricted __le32
    drivers/pci/proc.c:179:40: warning: cast to restricted __le16

    Signed-off-by: Harvey Harrison
    Signed-off-by: Jesse Barnes

    Harvey Harrison
     
  • Make more PCI PM core functionality available to drivers

    * Export pci_pme_capable() so that it can be called directly by
    drivers (for example, tg3 needs that).

    * Move the state choosing part of pci_prepare_to_sleep() to a
    separate function, pci_target_state(), that can be called directly
    by drivers (for example, tg3 needs that).

    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Jesse Barnes

    Rafael J. Wysocki
     
  • RMRRs do not necessarily have to be present on all VT-d capable platforms.
    The printk is just informational and does not need to be followed by an error
    return.

    Signed-off-by: Yong Y Wang
    Cc: Fenghua Yu
    Cc: mark gross
    Cc: Keshavamurthy, Anil S
    Signed-off-by: Andrew Morton
    Signed-off-by: Jesse Barnes

    Yong Wang
     

22 Jul, 2008

2 commits

  • Kobjects do not have a limit in name size since a while, so stop
    pretending that they do.

    Signed-off-by: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     
  • Fix kernel-doc comments so that they don't produce errors.
    Also cut some extraneous copy-paste text.

    Error(linhead//drivers/pci/pci.c:1133): duplicate section name 'Description'
    Error(linhead//drivers/pci/pci.c:1189): duplicate section name 'Description'

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

    Randy Dunlap
     

21 Jul, 2008

1 commit


19 Jul, 2008

1 commit


17 Jul, 2008

1 commit

  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (72 commits)
    Revert "x86/PCI: ACPI based PCI gap calculation"
    PCI: remove unnecessary volatile in PCIe hotplug struct controller
    x86/PCI: ACPI based PCI gap calculation
    PCI: include linux/pm_wakeup.h for device_set_wakeup_capable
    PCI PM: Fix pci_prepare_to_sleep
    x86/PCI: Fix PCI config space for domains > 0
    Fix acpi_pm_device_sleep_wake() by providing a stub for CONFIG_PM_SLEEP=n
    PCI: Simplify PCI device PM code
    PCI PM: Introduce pci_prepare_to_sleep and pci_back_from_sleep
    PCI ACPI: Rework PCI handling of wake-up
    ACPI: Introduce new device wakeup flag 'prepared'
    ACPI: Introduce acpi_device_sleep_wake function
    PCI: rework pci_set_power_state function to call platform first
    PCI: Introduce platform_pci_power_manageable function
    ACPI: Introduce acpi_bus_power_manageable function
    PCI: make pci_name use dev_name
    PCI: handle pci_name() being const
    PCI: add stub for pci_set_consistent_dma_mask()
    PCI: remove unused arch pcibios_update_resource() functions
    PCI: fix pci_setup_device()'s sprinting into a const buffer
    ...

    Fixed up conflicts in various files (arch/x86/kernel/setup_64.c,
    arch/x86/pci/irq.c, arch/x86/pci/pci.h, drivers/acpi/sleep/main.c,
    drivers/pci/pci.c, drivers/pci/pci.h, include/acpi/acpi_bus.h) from x86
    and ACPI updates manually.

    Linus Torvalds