openwrt-owl/target/linux/lantiq
Andrea Merello b81c04382b lantiq: fix sleep with spinlock held in xrx200 network driver
In the xrx200_close() function we call napi_disable(), that could
sleep, with priv->hw->chan[i].lock held. This could lead to deadlock
and causes the kernel to complain.

Look at the code I couldn't convince myself about why we
need to protect that specific code part with the lock. IMHO there
seems no reason to protect the refcount variables, because AFAIK
ndo_close() and ndo_open() callbacks are already called with a
semaphore held. Neither I could figure out why napi_disable() have to
be called with that lock held. The only remaining code part for
which I could guess the lock is useful for is ltq_dma_close()
function call.

This patch reduces the lock to the said function call, avoiding the
sleep-with-spinlock-held situation

Signed-off-by: Andrea Merello <andrea.merello@gmail.com>
[fold into 0025-NET-MIPS-lantiq-adds-xrx200-net.patch, backport to
kernel 4.4]
Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-07-20 19:10:29 +02:00
..
ase lantiq: add Amazon-SE subtarget 2017-06-03 21:14:07 +02:00
base-files treewide: populate boardname and model earlier 2017-07-15 23:13:34 +02:00
dts lantiq: fix typo in EASY80920.dtsi 2017-07-07 07:18:14 +02:00
falcon build: remove mips16 feature flag from target makefiles 2017-01-24 13:15:01 +01:00
files/firmware/lantiq move GPHY FW blobs to non versioned folder 2013-03-14 18:42:21 +00:00
image lantiq: add Netgear DM200 support 2017-07-07 07:13:24 +02:00
patches-4.4 lantiq: fix sleep with spinlock held in xrx200 network driver 2017-07-20 19:10:29 +02:00
patches-4.9 lantiq: fix sleep with spinlock held in xrx200 network driver 2017-07-20 19:10:29 +02:00
xrx200 lantiq: add support for kernel 4.9 2017-02-11 23:44:13 +01:00
xway build: remove mips16 feature flag from target makefiles 2017-01-24 13:15:01 +01:00
xway_legacy build: remove mips16 feature flag from target makefiles 2017-01-24 13:15:01 +01:00
Makefile lantiq: add Amazon-SE subtarget 2017-06-03 21:14:07 +02:00
config-4.4 kernel: cleanup CONFIG_SCHED_HRTICK 2017-06-29 04:46:59 +02:00
config-4.9 kernel: cleanup CONFIG_SCHED_HRTICK 2017-06-29 04:46:59 +02:00
modules.mk fix i2c-lantiq module 2012-12-16 10:03:18 +00:00