On 04/12/2020 18:12:51+0000, Vladimir Oltean wrote: > Yeah, well I more or less deliberately lose track of the workqueue as > soon as ocelot_enqueue_mact_action is over, and that is by design. There > is potentially more than one address to offload to the hardware in progress > at the same time, and any sort of serialization in .ndo_set_rx_mode (so > I could add the workqueue to a list of items to cancel on unbind) > would mean > (a) more complicated code > (b) more busy waiting > > > > drivers/net/ethernet/mscc/ocelot_net.c | 83 +++++++++++++++++++++++++- > > > 1 file changed, 80 insertions(+), 3 deletions(-) > > > > This is a little large for a rc7 fix :S > > Fine, net-next it is then. > > > What's the expected poll time? maybe it's not that bad to busy wait? > > Clearly nobody noticed the issue in 2 years (you mention lockdep so > > not a "real" deadlock) which makes me think the wait can't be that long? > > Not too much, but the sleep is there. > Also, all 3 of ocelot/felix/seville are memory-mapped devices. But I > heard from Alex a while ago that he intends to add support for a switch > managed over a slow bus like SPI, and to use the same regmap infrastructure. > That would mean that this problem would need to be resolved anyway. >
This is still on the way but it will not happen this year unfortunately. -- Alexandre Belloni, Bootlin Embedded Linux and Kernel engineering https://bootlin.com