lkml.org 
[lkml]   [2004]   [Aug]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    SubjectRe: [PATCH] PCI and I2C fixes for 2.6.8
    Date
    From
    ChangeSet 1.1784.41.4, 2004/07/14 13:31:39-07:00, lxiep@us.ibm.com

    [PATCH] PCI Hotplug: rpaphp_add_slot.patch

    I found a bug in rpaphp code during DLPAR I/O testing. When DLPAR ADD
    a non-empty I/O slot to a partition, an adapter in the slot didn't
    get configured. The attached patch fixes that.

    Signed-off-by: Linda Xie <lxie@us.ibm.com>
    Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>


    drivers/pci/hotplug/rpaphp_pci.c | 21 ++++++++++++++++++---
    1 files changed, 18 insertions(+), 3 deletions(-)


    diff -Nru a/drivers/pci/hotplug/rpaphp_pci.c b/drivers/pci/hotplug/rpaphp_pci.c
    --- a/drivers/pci/hotplug/rpaphp_pci.c 2004-08-23 11:08:56 -07:00
    +++ b/drivers/pci/hotplug/rpaphp_pci.c 2004-08-23 11:08:56 -07:00
    @@ -341,7 +341,6 @@
    return rc;
    }

    -
    static void rpaphp_eeh_remove_bus_device(struct pci_dev *dev)
    {
    eeh_remove_device(dev);
    @@ -430,10 +429,26 @@
    __FUNCTION__, slot->name);
    goto exit_rc;
    }
    - if (init_slot_pci_funcs(slot)) {
    - err("%s: init_slot_pci_funcs failed\n", __FUNCTION__);
    +
    + if (slot->hotplug_slot->info->adapter_status == NOT_CONFIGURED) {
    + dbg("%s CONFIGURING pci adapter in slot[%s]\n",
    + __FUNCTION__, slot->name);
    + if (rpaphp_config_pci_adapter(slot)) {
    + err("%s: CONFIG pci adapter failed\n", __FUNCTION__);
    + goto exit_rc;
    + }
    + } else if (slot->hotplug_slot->info->adapter_status == CONFIGURED) {
    + if (init_slot_pci_funcs(slot)) {
    + err("%s: init_slot_pci_funcs failed\n", __FUNCTION__);
    + goto exit_rc;
    + }
    +
    + } else {
    + err("%s: slot[%s]'s adapter_status is NOT_VALID.\n",
    + __FUNCTION__, slot->name);
    goto exit_rc;
    }
    +
    print_slot_pci_funcs(slot);
    if (!list_empty(&slot->dev.pci_funcs)) {
    slot->state = CONFIGURED;
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 14:05    [W:2.772 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site