On Thu, 3 Dec 2020 09:50:11 +0100 Oleksij Rempel wrote: > @Jakub, > > > You can't take sleeping locks from .ndo_get_stats64. > > > > Also regmap may sleep? > > > > + ret = regmap_read(priv->regmap, reg, &val); > > Yes. And underling layer is mdio bus which is by default sleeping as > well. > > > Am I missing something? > > In this log, the ar9331_get_stats64() was never called from atomic or > irq context. Why it should not be sleeping? You missed some long discussions about this within last week on netdev. Also Documentation/networking/statistics.rst. To answer your direct question - try: # cat /proc/net/dev procfs iterates over devices while holding only an RCU read lock.