On 28-06-22, 16:00, Fenghua Yu wrote: > From: Dave Jiang <dave.jiang@xxxxxxxxx> > > Testing shown that when a wq mode is setup to be dedicated and then torn > down and reconfigured to shared, the wq configured end up being dedicated > anyays. The root cause is when idxd_device_wqs_clear_state() gets called > during idxd_driver removal, idxd_wq_disable_cleanup() does not get called > vs when the wq driver is removed first. The check of wq state being > "enabled" causes the cleanup to be bypassed. However, idxd_driver->remove() > releases all wq drivers. So the wqs goes to "disabled" state and will never > be "enabled". By that point, the driver has no idea if the wq was > previously configured or clean. So force call idxd_wq_disable_cleanup() on > all wqs always to make sure everything gets cleaned up. Applied, thanks -- ~Vinod