[PATCH] mtrr: fix mtrr checking without devices that are under bridges
Alex Hung
alex.hung at canonical.com
Thu Aug 23 07:31:27 UTC 2012
On 08/14/2012 06:50 PM, 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;
> }
>
Acked-by: Alex Hung <alex.hung at canonical.com>
More information about the fwts-devel
mailing list