openwrt/target/linux/lantiq/patches-4.4
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
..
122-MIPS-store-the-appended-dtb-address-in-a-variable.patch kernel: update kernel 4.4 to version 4.4.30 2016-11-02 10:25:44 +01:00
0001-MIPS-lantiq-add-pcie-driver.patch kernel: update kernel 4.4 to version 4.4.8 2016-04-24 11:32:17 +02:00
0004-MIPS-lantiq-add-atm-hack.patch kernel: remove full cache flush in fuse_copy_do() for MIPS 2016-06-26 18:22:23 +02:00
0008-MIPS-lantiq-backport-old-timer-code.patch lantiq: fix 0008-MIPS-lantiq-backport-old-timer-code.patch for Amazon-SE 2017-06-03 21:35:53 +02:00
0012-pinctrl-lantiq-fix-up-pinmux.patch
0013-MTD-lantiq-xway-fix-invalid-operator.patch
0014-MTD-lantiq-xway-the-latched-command-should-be-persis.patch
0015-MTD-lantiq-xway-remove-endless-loop.patch
0016-MTD-lantiq-xway-add-missing-write_buf-and-read_buf-t.patch
0017-MTD-xway-fix-nand-locking.patch
0018-MTD-nand-lots-of-xrx200-fixes.patch lantiq: fix wrong parameter order in xway_nand driver 2016-02-08 08:25:15 +00:00
0020-MTD-lantiq-handle-NO_XIP-on-cfi0001-flash.patch
0022-MTD-m25p80-allow-loading-mtd-name-from-OF.patch kernel: update kernel 4.4 to version 4.4.9 2016-05-10 10:43:17 +02:00
0024-NET-lantiq-adds-PHY11G-firmware-blobs.patch
0025-NET-MIPS-lantiq-adds-xrx200-net.patch lantiq: fix sleep with spinlock held in xrx200 network driver 2017-07-20 19:10:29 +02:00
0026-NET-multi-phy-support.patch kernel: update to v4.4.23 2016-09-30 20:08:21 +02:00
0028-NET-lantiq-various-etop-fixes.patch kernel: update to version 4.4.14 2016-06-26 18:20:37 +02:00
0030-GPIO-add-named-gpio-exports.patch lantiq: refresh patches 2016-06-15 14:36:47 +02:00
0031-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch ntiq: make i2c-lantiqi driver compile again 2016-10-03 00:13:11 +02:00
0035-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch lantiq: fix 0008-MIPS-lantiq-backport-old-timer-code.patch for Amazon-SE 2017-06-03 21:35:53 +02:00
0040-USB-DWC2-enable-usb-power-gpio.patch
0042-arch-mips-increase-io_space_limit.patch lantiq: refresh patches 2016-06-15 14:36:47 +02:00
0044-pinctrl-lantiq-introduce-new-dedicated-devicetree-bi.patch lantiq: pinctrl: xway: fix copy/paste error in xrx200_grps 2017-05-29 09:51:19 +02:00
0045-pinctrl-lantiq-Fix-GPIO-Setup-of-GPIO-Port3.patch
0046-pinctrl-lantiq-2-pins-have-the-wrong-mux-list.patch
0047-irq-fixes.patch kernel: update kernel 4.4 to version 4.4.69 2017-05-21 21:48:16 +02:00
0047-mtd-plat-nand-pass-of-node.patch lantiq: backport kernel patch to pass of node to nand_dt_init 2016-11-29 21:40:16 +01:00
0047-poweroff.patch lantiq: update USB controller initialization 2017-01-09 23:25:34 +01:00
0050-MIPS-Lantiq-Fix-cascaded-IRQ-setup.patch kernel: update kernel 4.4 to version 4.4.69 2017-05-21 21:48:16 +02:00
0060-usb-dwc2-Add-support-for-Lantiq-ARX-and-XRX-SoCs.patch lantiq: update USB controller initialization 2017-01-09 23:25:34 +01:00
0061-USB-DWC2-make-the-lantiq-settings-match-vendor-drive.patch lantiq: update USB controller initialization 2017-01-09 23:25:34 +01:00
0065-MIPS-lantiq-improve-USB-initialization.patch lantiq: update USB controller initialization 2017-01-09 23:25:34 +01:00
0100-spi-add-support-for-Lantiq-SPI-controller.patch Revert "kernel: remove long obsolete gpio spi controller driver patch" 2016-08-04 23:10:15 +02:00
0101-find_active_root.patch lantiq: handle the dual-firmware layout of brnboot 2016-05-10 10:43:12 +02:00
0120-MIPS-lantiq-add-support-for-device-tree-file-from-bo.patch lantiq: use upstream mechanism to append device tree file 2016-03-20 14:41:54 +00:00
0121-MIPS-lantiq-make-it-possible-to-build-in-no-device-t.patch kernel: bump to 4.4.36 2016-12-04 12:31:30 +01:00
0151-lantiq-ifxmips_pcie-use-of.patch lantiq: fix section mismatch in PCIe driver 2017-02-12 01:29:41 +01:00
0152-lantiq-VPE.patch lantiq: vr9 fxs support: remove unused wdog declarations and initializers 2017-03-24 08:09:39 +01:00
0154-lantiq-pci-bar11mask-fix.patch kernel: update kernel 4.4 to version 4.4.32 2016-11-16 17:31:29 +01:00
0155-lantiq-VPE-nosmp.patch lantiq: vr9 fxs support: fixed check of SMP state within vpe-mt.c 2017-03-13 14:20:47 +01:00
0160-owrt-lantiq-multiple-flash.patch kernel: update to version 4.4.14 2016-06-26 18:20:37 +02:00
0170-MIPS-lantiq-lock-DMA-register-accesses-for-SMP.patch lantiq: fix dma locking problems with SMP 2017-01-09 20:23:28 +01:00
0300-MTD-cfi-cmdset-0001-disable-buffered-writes.patch
0301-xrx200-add-gphy-clk-src-device-tree-binding.patch lantiq: update USB controller initialization 2017-01-09 23:25:34 +01:00
0302-xrx200-add-sensors-driver.patch kernel: update 4.4 kernel to 4.4.42 2017-01-13 23:05:36 +01:00