On Mon, May 21, 2018 at 05:28:52PM +0000, Matan Azrad wrote: > > > From: Thomas Monjalon > > The lock vdev_device_list_lock was taken before calling "remove" function > > for > > the device. > > So it prevents to remove sub-devices (as in failsafe) inside its own > > "remove" > > function, because of a deadlock. > > > > The lock is now only protecting the device list inside the bus driver. > > > > Fixes: 35f462839b69 ("bus/vdev: add lock on device list") > > > > Signed-off-by: Thomas Monjalon <tho...@monjalon.net> > Tested-by: Matan Azrad <ma...@mellanox.com>
If these locks were necessary, they would be missing as well for rte_devargs. Jianfeng inquired about it, I think it should be followed upon. Restricting the scope of the lock here could maybe re-introduce the bug that motivated their introduction in the first place, as the devargs_remove() is not in the critical section anymore. However, this is an rte_devargs issue, not a vdev bus one, so the fix makes sense and I'd like to have it ASAP for failsafe. Without a vdev bus maintainer left: Acked-by: Gaetan Rivet <gaetan.ri...@6wind.com> -- Gaëtan Rivet 6WIND