net: lan743x: Don't sleep in atomic context
authorMoritz Fischer <moritzf@google.com>
Tue, 27 Jun 2023 03:50:00 +0000 (03:50 +0000)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 29 Jun 2023 08:59:43 +0000 (10:59 +0200)
commit7a8227b2e76be506b2ac64d2beac950ca04892a5
treee61244dcffe755e922efe3e10edbbb5a9784cec6
parent3a8a670eeeaa40d87bd38a587438952741980c18
net: lan743x: Don't sleep in atomic context

dev_set_rx_mode() grabs a spin_lock, and the lan743x implementation
proceeds subsequently to go to sleep using readx_poll_timeout().

Introduce a helper wrapping the readx_poll_timeout_atomic() function
and use it to replace the calls to readx_polL_timeout().

Fixes: 23f0703c125b ("lan743x: Add main source files for new lan743x driver")
Cc: stable@vger.kernel.org
Cc: Bryan Whitehead <bryan.whitehead@microchip.com>
Cc: UNGLinuxDriver@microchip.com
Signed-off-by: Moritz Fischer <moritzf@google.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20230627035000.1295254-1-moritzf@google.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/microchip/lan743x_main.c