Re: [PATCH v1 2/2] PCI: Correct PCI_STD_RESOURCE_END usage
From: Bjorn Helgaas
Date: Wed May 24 2017 - 17:43:16 EST
On Fri, May 19, 2017 at 02:58:55PM -0500, Bjorn Helgaas wrote:
> PCI_STD_RESOURCE_END is (confusingly) the index of the last valid BAR, not
> the *number* of BARs. To iterate through all possible BARs, we need to
> include PCI_STD_RESOURCE_END.
>
> Fixes: 9fe373f9997b ("PCI: Increase IBM ipr SAS Crocodile BARs to at least system page size")
> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
I applied both of these to pci/misc for v4.13.
> ---
> drivers/pci/quirks.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> index 085fb787aa9e..16e6cd86ad71 100644
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> @@ -304,7 +304,7 @@ static void quirk_extend_bar_to_page(struct pci_dev *dev)
> {
> int i;
>
> - for (i = 0; i < PCI_STD_RESOURCE_END; i++) {
> + for (i = 0; i <= PCI_STD_RESOURCE_END; i++) {
> struct resource *r = &dev->resource[i];
>
> if (r->flags & IORESOURCE_MEM && resource_size(r) < PAGE_SIZE) {
>