[PATCH] mtrr: fix mtrr checking without devices that are under bridges

IvanHu ivan.hu at canonical.com
Tue Aug 21 06:27:25 UTC 2012


On 08/17/2012 08:37 PM, Colin Ian King wrote:
> On 14/08/12 11:50, Ivan Hu wrote:
>> The issue seems that only check the bridges, doesn't check the devices
>> under
>> the bridges. This causes the test fail. Fix the parser PCI Bus char and
>> prfetchable char.
>>
>> Signed-off-by: Ivan Hu <ivan.hu at canonical.com>
>> ---
>>   src/bios/mtrr/mtrr.c |    8 ++++----
>>   1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/src/bios/mtrr/mtrr.c b/src/bios/mtrr/mtrr.c
>> index 4818c64..5bb27b8 100644
>> --- a/src/bios/mtrr/mtrr.c
>> +++ b/src/bios/mtrr/mtrr.c
>> @@ -356,11 +356,11 @@ static int is_prefetchable(fwts_framework *fw,
>> char *device, uint64_t address)
>>       fwts_list_foreach(item, lspci_output) {
>>           char *str = strstr(fwts_text_list_text(item), "Memory at ");
>>           if (str && strtoull(str+10, NULL, 16) == address) {
>> -            if (strstr(str, "Non-Prefetchable"))
>> +            if (strstr(str, "non-prefetchable"))
>>                   pref = 0;
>> -            else if (strstr(str, "(Prefetchable"))
>> +            else if (strstr(str, "(prefetchable"))
>>                   pref = 1;
>> -            else if (strstr(str, ", Prefetchable"))
>> +            else if (strstr(str, ", prefetchable"))
>>                   pref = 1;
>>           }
>>       }
>> @@ -419,7 +419,7 @@ static int validate_iomem(fwts_framework *fw)
>>            * For pci bridges, we note the increased depth and
>>            * otherwise skip the entry
>>             */
>> -        if (strstr(buffer, ": PCI Bus #")) {
>> +        if (strstr(buffer, ": PCI Bus ")) {
>>               pcidepth++;
>>               continue;
>>           }
>>
> I wonder if this is a regression because of changes in the output of
> lspci?  Does this break on earlier releases?
>
>

I've checked release 11.10. It also breaks on the release 11.10.

Ivan



More information about the fwts-devel mailing list