On 02/10, Alex Williamson wrote: > > --- a/drivers/pci/probe.c > +++ b/drivers/pci/probe.c > @@ -345,7 +345,8 @@ static void pci_read_bases(struct pci_dev *dev, unsigned int howmany, int rom) > unsigned int pos, reg; > u16 orig_cmd; > > - BUILD_BUG_ON(howmany > PCI_STD_NUM_BARS); > + if (__builtin_constant_p(howmany)) > + BUILD_BUG_ON(howmany > PCI_STD_NUM_BARS); Or just BUILD_BUG_ON(__builtin_constant_p(howmany) && howmany > PCI_STD_NUM_BARS); I dunno... Works for me in any case. I don't know if this is "right" solution though, but I can't suggest anything better. Oleg.