29/09/2018 08:43, Zhang, Qi Z: > From: Thomas Monjalon [mailto:tho...@monjalon.net] > > > > Hi, > > > > 03/09/2018 10:40, Qi Zhang: > > > When scanning an already plugged device, the virtual address of mapped > > > PCI resource in rte_pci_device will be overridden with 0, that may > > > cause driver does not work correctly. > > > > Why is it overridden with 0? > > Can we try to fix the root cause? > > From my view this is place to fix the issue: "scan an already probed device > will corrupt the PCI resource map" > Another option is "to prevent scan an already probed device", this can be > implemented by adding some check before bus->scan in rte_dev_hotplug_add but > I'm not prefer for this solution, because it's better to keep bus->scan's > independency.
I don't understand why we are currently changing an already scanned device in pci_scan_one. We could check the PCI address is known at the beginning and stop here, even before allocating a new rte_pci_device. Why trying to override with this memmove?