Message ID | 20170823115459.2058-1-hch@lst.de (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Bjorn Helgaas |
Headers | show |
> irq_create_affinity_masks can easily return NULL when there are not > enough "free" vectors available to spread, while the memory allocation > failure for the CPU masks not only is unlikely, but also relatively > harmless as the system will work just fine except for non-optimally > spread vectors. Thus remove the warnings. > > Signed-off-by: Christoph Hellwig <hch@lst.de> Yes, this makes the warning go away but driver still loads. > --- > drivers/pci/msi.c | 13 +++---------- > 1 file changed, 3 insertions(+), 10 deletions(-) > > diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c > index 253d92409bb3..2225afc1cbbb 100644 > --- a/drivers/pci/msi.c > +++ b/drivers/pci/msi.c > @@ -538,12 +538,9 @@ msi_setup_entry(struct pci_dev *dev, int nvec, const struct irq_affinity *affd) > struct msi_desc *entry; > u16 control; > > - if (affd) { > + if (affd) > masks = irq_create_affinity_masks(nvec, affd); > - if (!masks) > - dev_err(&dev->dev, "can't allocate MSI affinity masks for %d vectors\n", > - nvec); > - } > + > > /* MSI Entry Initialization */ > entry = alloc_msi_entry(&dev->dev, nvec, masks); > @@ -679,12 +676,8 @@ static int msix_setup_entries(struct pci_dev *dev, void __iomem *base, > struct msi_desc *entry; > int ret, i; > > - if (affd) { > + if (affd) > masks = irq_create_affinity_masks(nvec, affd); > - if (!masks) > - dev_err(&dev->dev, "can't allocate MSI-X affinity masks for %d vectors\n", > - nvec); > - } > > for (i = 0, curmsk = masks; i < nvec; i++) { > entry = alloc_msi_entry(&dev->dev, 1, curmsk); >
From: Christoph Hellwig <hch@lst.de> Date: Wed, 23 Aug 2017 13:54:59 +0200 > irq_create_affinity_masks can easily return NULL when there are not > enough "free" vectors available to spread, while the memory allocation > failure for the CPU masks not only is unlikely, but also relatively > harmless as the system will work just fine except for non-optimally > spread vectors. Thus remove the warnings. > > Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: David S. Miller <davem@davemloft.net>
On Wed, Aug 23, 2017 at 01:54:59PM +0200, Christoph Hellwig wrote: > irq_create_affinity_masks can easily return NULL when there are not > enough "free" vectors available to spread, while the memory allocation > failure for the CPU masks not only is unlikely, but also relatively > harmless as the system will work just fine except for non-optimally > spread vectors. Thus remove the warnings. > > Signed-off-by: Christoph Hellwig <hch@lst.de> I applied this with David's ack to for-linus for v4.13. It's not strictly speaking a bug fix, but I think the warnings would cause needless alarm for v4.13 users. > --- > drivers/pci/msi.c | 13 +++---------- > 1 file changed, 3 insertions(+), 10 deletions(-) > > diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c > index 253d92409bb3..2225afc1cbbb 100644 > --- a/drivers/pci/msi.c > +++ b/drivers/pci/msi.c > @@ -538,12 +538,9 @@ msi_setup_entry(struct pci_dev *dev, int nvec, const struct irq_affinity *affd) > struct msi_desc *entry; > u16 control; > > - if (affd) { > + if (affd) > masks = irq_create_affinity_masks(nvec, affd); > - if (!masks) > - dev_err(&dev->dev, "can't allocate MSI affinity masks for %d vectors\n", > - nvec); > - } > + > > /* MSI Entry Initialization */ > entry = alloc_msi_entry(&dev->dev, nvec, masks); > @@ -679,12 +676,8 @@ static int msix_setup_entries(struct pci_dev *dev, void __iomem *base, > struct msi_desc *entry; > int ret, i; > > - if (affd) { > + if (affd) > masks = irq_create_affinity_masks(nvec, affd); > - if (!masks) > - dev_err(&dev->dev, "can't allocate MSI-X affinity masks for %d vectors\n", > - nvec); > - } > > for (i = 0, curmsk = masks; i < nvec; i++) { > entry = alloc_msi_entry(&dev->dev, 1, curmsk); > -- > 2.11.0 >
diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c index 253d92409bb3..2225afc1cbbb 100644 --- a/drivers/pci/msi.c +++ b/drivers/pci/msi.c @@ -538,12 +538,9 @@ msi_setup_entry(struct pci_dev *dev, int nvec, const struct irq_affinity *affd) struct msi_desc *entry; u16 control; - if (affd) { + if (affd) masks = irq_create_affinity_masks(nvec, affd); - if (!masks) - dev_err(&dev->dev, "can't allocate MSI affinity masks for %d vectors\n", - nvec); - } + /* MSI Entry Initialization */ entry = alloc_msi_entry(&dev->dev, nvec, masks); @@ -679,12 +676,8 @@ static int msix_setup_entries(struct pci_dev *dev, void __iomem *base, struct msi_desc *entry; int ret, i; - if (affd) { + if (affd) masks = irq_create_affinity_masks(nvec, affd); - if (!masks) - dev_err(&dev->dev, "can't allocate MSI-X affinity masks for %d vectors\n", - nvec); - } for (i = 0, curmsk = masks; i < nvec; i++) { entry = alloc_msi_entry(&dev->dev, 1, curmsk);
irq_create_affinity_masks can easily return NULL when there are not enough "free" vectors available to spread, while the memory allocation failure for the CPU masks not only is unlikely, but also relatively harmless as the system will work just fine except for non-optimally spread vectors. Thus remove the warnings. Signed-off-by: Christoph Hellwig <hch@lst.de> --- drivers/pci/msi.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-)