b81c04382b
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> |
||
---|---|---|
.. | ||
0001-MIPS-lantiq-add-pcie-driver.patch | ||
0004-MIPS-lantiq-add-atm-hack.patch | ||
0008-MIPS-lantiq-backport-old-timer-code.patch | ||
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 | ||
0020-MTD-lantiq-handle-NO_XIP-on-cfi0001-flash.patch | ||
0022-MTD-m25p80-allow-loading-mtd-name-from-OF.patch | ||
0024-NET-lantiq-adds-PHY11G-firmware-blobs.patch | ||
0025-NET-MIPS-lantiq-adds-xrx200-net.patch | ||
0026-NET-multi-phy-support.patch | ||
0028-NET-lantiq-various-etop-fixes.patch | ||
0030-GPIO-add-named-gpio-exports.patch | ||
0031-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch | ||
0035-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch | ||
0040-USB-DWC2-enable-usb-power-gpio.patch | ||
0042-arch-mips-increase-io_space_limit.patch | ||
0044-pinctrl-lantiq-introduce-new-dedicated-devicetree-bi.patch | ||
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 | ||
0047-mtd-plat-nand-pass-of-node.patch | ||
0047-poweroff.patch | ||
0050-MIPS-Lantiq-Fix-cascaded-IRQ-setup.patch | ||
0060-usb-dwc2-Add-support-for-Lantiq-ARX-and-XRX-SoCs.patch | ||
0061-USB-DWC2-make-the-lantiq-settings-match-vendor-drive.patch | ||
0065-MIPS-lantiq-improve-USB-initialization.patch | ||
0100-spi-add-support-for-Lantiq-SPI-controller.patch | ||
0101-find_active_root.patch | ||
0120-MIPS-lantiq-add-support-for-device-tree-file-from-bo.patch | ||
0121-MIPS-lantiq-make-it-possible-to-build-in-no-device-t.patch | ||
122-MIPS-store-the-appended-dtb-address-in-a-variable.patch | ||
0151-lantiq-ifxmips_pcie-use-of.patch | ||
0152-lantiq-VPE.patch | ||
0154-lantiq-pci-bar11mask-fix.patch | ||
0155-lantiq-VPE-nosmp.patch | ||
0160-owrt-lantiq-multiple-flash.patch | ||
0170-MIPS-lantiq-lock-DMA-register-accesses-for-SMP.patch | ||
0300-MTD-cfi-cmdset-0001-disable-buffered-writes.patch | ||
0301-xrx200-add-gphy-clk-src-device-tree-binding.patch | ||
0302-xrx200-add-sensors-driver.patch |