[coreboot] A little more cleanup in northbridge/amd/k8/pci.c

Marc Jones marcj303 at gmail.com
Tue Nov 18 19:51:20 CET 2008


On Tue, Nov 18, 2008 at 10:59 AM, Myles Watson <mylesgw at gmail.com> wrote:
>
>
>> -----Original Message-----
>> From: Marc Jones [mailto:marcj303 at gmail.com]
>> Sent: Tuesday, November 18, 2008 10:36 AM
>> To: Myles Watson
>> Cc: Coreboot
>> Subject: Re: [coreboot] A little more cleanup in northbridge/amd/k8/pci.c
>>
>> Hi Myles,
>>
>> On Tue, Nov 18, 2008 at 10:06 AM, Myles Watson <mylesgw at gmail.com> wrote:
>> > This patch makes northbridge/amd/k8/pci.c use pci functions.  Build
>> tested
>> > on Serengeti.
>> >
>> > Signed-off-by: Myles Watson <mylesgw at gmail.com>
>> >
>>
>>
>> I don't think that it should ever happen, but  you might have an
>> endless while loop. Maybe keep the nodeid < CONFIG_MAX_PHYSICAL_CPUS
>> check?
>
>
> -       for (nodeid = 0; !res && (nodeid < CONFIG_MAX_PHYSICAL_CPUS);
> nodeid++) {
> -               struct device *dev;
> -               dev = __f0_dev[nodeid];
> -               if (!dev)
> -                       continue;
> +       while (!res
> +              && (dev = dev_find_pci_device(PCI_VENDOR_ID_AMD, 0x1100,
> dev))) {
>                for (link = 0; !res && (link < 3); link++) {
>                        res = probe_resource(dev, 0x100 + (reg | link));
>                }
> +               nodeid++;
>        }
>
> Thanks for the quick review.  The reason I didn't keep it is because
> dev_find_pci_device is updating dev, which is where the search starts from
> each time.  You shouldn't find the same device twice using that function, or
> you have a loop in the device list.
>
> I can put it back in, or a comment explaining it if you want, though.

I see. You are right.
Acked-by: Marc Jones <marcj303 at gmail.com>




More information about the coreboot mailing list