On Thu, Mar 11, 2021 at 11:37:28AM -0800, Alexander Duyck wrote: > Then the flow for this could be changed where we take the VF lock and > mark it as "stale" to prevent any driver binding and then we can > release the VF lock. Next we would perform the PF operation telling it > to update the VF. Then we spin on the VF waiting for the stale data > to be updated and once that happens we can pop the indication that the > device is "stale" freeing it for use. I always get leary when people propose to open code locking constructs :\ There is already an existing lock to prevent probe() it is the device_lock() mutex on the VF. With no driver bound there is not much issue to hold it over the HW activity. This lock is normally held around the entire probe() and remove() function which has huge amounts of HW activity already. We don't need to invent new locks and new complexity for something that is trivially solved already. Jason