Re: [PATCH] bus/pci: fix unexpected resource mapping override
From: Thomas Monjalon <hidden>
Date: 2018-09-30 08:52:45
29/09/2018 08:43, Zhang, Qi Z:
From: Thomas Monjalon [mailto:thomas@monjalon.net]quoted
Hi, 03/09/2018 10:40, Qi Zhang:quoted
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?