[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