On Mon, 2019-06-24 at 09:08 +0000, Koenig, Christian wrote: > > Yeah, can't agree more :) It was one of the main challenges implementing > the resizing support. > > If you want to clean this up feel free to CC me and I can take a look as > well. But honestly I was scared of touching it when I worked on this, > because of all the little corner cases you have in PCI. > > > Question: Do you ever need to assign anything other than that one > > device though ? In my branch, I've added this typically for the case > > where a single device needs to be reassigned: > > > > +void pci_dev_assign_resources(struct pci_dev *dev) > > +{ > > + LIST_HEAD(head); > > + > > + /* Assign non-fixed resources */ > > + __dev_sort_resources(dev, &head); > > + __assign_resources_sorted(&head, NULL, NULL); > > + > > + /* Assign fixed ones if any */ > > + pdev_assign_fixed_resources(dev); > > +} > > +EXPORT_SYMBOL(pci_dev_assign_resources); > > > > Would that work for you ? > > That should work perfectly fine. Ok, Ill plumb it that way in my branch, I'll let you know when it's worth testing. BTW. Which GPUs typically are affected ? I'm pretty sure my old R9 290 isn't :-) But I was thinking of upgrading so... Cheers, Ben.