On Sat, Apr 13, 2019 at 12:32:11PM +0000, Igor Russkikh wrote: > From: Nikita Danilov <ndani...@aquantia.com> > > Since fw ops may be invoked from different threads all its invocation > must be wrapped by mutex.
Do all fw ops go through hw_atl_utils_fw_rpc_wait()? My experience with the mv88e6xxx driver is that you forget a lock somewhere. So we added code in the low level register access to check the lock has been taken: if (unlikely(!mutex_is_locked(&chip->reg_lock))) { dev_err(chip->dev, "Switch registers lock not held!\n"); dump_stack(); } Andrew