summaryrefslogtreecommitdiffstats
path: root/net/iucv
diff options
context:
space:
mode:
authorSven Van Asbroeck <thesven73@gmail.com>2020-11-09 21:38:28 +0100
committerJakub Kicinski <kuba@kernel.org>2020-11-11 02:52:54 +0100
commit2b52a4b65bc8f14520fe6e996ea7fb3f7e400761 (patch)
treeef8debe210f0685a3dee8af7902eb00ae3ea7818 /net/iucv
parentnet: dsa: mv88e6xxx: Fix memleak in mv88e6xxx_region_atu_snapshot (diff)
downloadlinux-2b52a4b65bc8f14520fe6e996ea7fb3f7e400761.tar.xz
linux-2b52a4b65bc8f14520fe6e996ea7fb3f7e400761.zip
lan743x: fix "BUG: invalid wait context" when setting rx mode
In the net core, the struct net_device_ops -> ndo_set_rx_mode() callback is called with the dev->addr_list_lock spinlock held. However, this driver's ndo_set_rx_mode callback eventually calls lan743x_dp_write(), which acquires a mutex. Mutex acquisition may sleep, and this is not allowed when holding a spinlock. Fix by removing the dp_lock mutex entirely. Its purpose is to prevent concurrent accesses to the data port. No concurrent accesses are possible, because the dev->addr_list_lock spinlock in the core only lets through one thread at a time. Fixes: 23f0703c125b ("lan743x: Add main source files for new lan743x driver") Signed-off-by: Sven Van Asbroeck <thesven73@gmail.com> Link: https://lore.kernel.org/r/20201109203828.5115-1-TheSven73@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/iucv')
0 files changed, 0 insertions, 0 deletions