lkml.org 
[lkml]   [2012]   [Feb]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 13/36] x86, PCI: allocate temp range array in amd_bus pci_root_info probing
    Date
    Signed-off-by: Yinghai Lu <yinghai@kernel.org>
    ---
    arch/x86/pci/amd_bus.c | 11 ++++++++---
    1 files changed, 8 insertions(+), 3 deletions(-)

    diff --git a/arch/x86/pci/amd_bus.c b/arch/x86/pci/amd_bus.c
    index 5f30a98..aff155d 100644
    --- a/arch/x86/pci/amd_bus.c
    +++ b/arch/x86/pci/amd_bus.c
    @@ -30,7 +30,7 @@ static struct pci_hostbridge_probe pci_probes[] __initdata = {
    { 0, 0x18, PCI_VENDOR_ID_AMD, 0x1300 },
    };

    -#define RANGE_NUM 16
    +#define RANGE_NUM 128

    static struct pci_root_info __init *find_pci_root_info(int node, int link)
    {
    @@ -64,7 +64,7 @@ static int __init early_fill_mp_bus_info(void)
    u32 reg;
    u64 start;
    u64 end;
    - struct range range[RANGE_NUM];
    + struct range *range;
    u64 val;
    u32 address;
    bool found;
    @@ -125,7 +125,10 @@ static int __init early_fill_mp_bus_info(void)
    reg = read_pci_config(bus, slot, 0, 0x64);
    def_link = (reg >> 8) & 0x03;

    - memset(range, 0, sizeof(range));
    + range = kcalloc(RANGE_NUM, sizeof(struct range), GFP_KERNEL);
    + if (!range)
    + return -ENOMEM;
    +
    add_range(range, RANGE_NUM, 0, 0, 0xffff + 1);
    /* io port resource */
    for (i = 0; i < 4; i++) {
    @@ -291,6 +294,8 @@ static int __init early_fill_mp_bus_info(void)
    }
    }

    + kfree(range);
    +
    print_all_pci_root_info("ht link", true);

    return 0;
    --
    1.7.7


    \
     
     \ /
      Last update: 2012-03-01 04:09    [W:0.029 / U:61.072 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site