[+cc Joerg] On Tue, Dec 03, 2019 at 03:43:22PM +0000, James Sewart wrote: > The number of possible devfns is 256, add def and correct uses. > > Reviewed-by: Logan Gunthorpe <logang@xxxxxxxxxxxx> > Signed-off-by: James Sewart <jamessewart@xxxxxxxxxx> I applied these three patches to pci/virtualization for v5.6, thanks! I moved the MAX_NR_DEVFNS from include/linux/pci.h to drivers/pci/pci.h since nobody outside drivers/pci needs it. > --- > drivers/pci/pci.c | 2 +- > drivers/pci/search.c | 2 +- > include/linux/pci.h | 2 ++ > 3 files changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c > index a97e2571a527..d3c83248f3ce 100644 > --- a/drivers/pci/pci.c > +++ b/drivers/pci/pci.c > @@ -5876,7 +5876,7 @@ int pci_set_vga_state(struct pci_dev *dev, bool decode, > void pci_add_dma_alias(struct pci_dev *dev, u8 devfn) > { > if (!dev->dma_alias_mask) > - dev->dma_alias_mask = bitmap_zalloc(U8_MAX, GFP_KERNEL); > + dev->dma_alias_mask = bitmap_zalloc(MAX_NR_DEVFNS, GFP_KERNEL); > if (!dev->dma_alias_mask) { > pci_warn(dev, "Unable to allocate DMA alias mask\n"); > return; > diff --git a/drivers/pci/search.c b/drivers/pci/search.c > index bade14002fd8..9e4dfae47252 100644 > --- a/drivers/pci/search.c > +++ b/drivers/pci/search.c > @@ -43,7 +43,7 @@ int pci_for_each_dma_alias(struct pci_dev *pdev, > if (unlikely(pdev->dma_alias_mask)) { > u8 devfn; > > - for_each_set_bit(devfn, pdev->dma_alias_mask, U8_MAX) { > + for_each_set_bit(devfn, pdev->dma_alias_mask, MAX_NR_DEVFNS) { > ret = fn(pdev, PCI_DEVID(pdev->bus->number, devfn), > data); > if (ret) > diff --git a/include/linux/pci.h b/include/linux/pci.h > index 1a6cf19eac2d..6481da29d667 100644 > --- a/include/linux/pci.h > +++ b/include/linux/pci.h > @@ -57,6 +57,8 @@ > #define PCI_DEVID(bus, devfn) ((((u16)(bus)) << 8) | (devfn)) > /* return bus from PCI devid = ((u16)bus_number) << 8) | devfn */ > #define PCI_BUS_NUM(x) (((x) >> 8) & 0xff) > +/* Number of possible devfns. devfns can be from 0.0 to 1f.7 inclusive */ > +#define MAX_NR_DEVFNS 256 > > /* pci_slot represents a physical slot */ > struct pci_slot { > -- > 2.24.0 > >