iscsi-target: Fix iscsi_np reset hung task during parallel delete
Nicholas Bellinger authored
commit 978d13d6 upstream.

This patch fixes a bug associated with iscsit_reset_np_thread()
that can occur during parallel configfs rmdir of a single iscsi_np
used across multiple iscsi-target instances, that would result in
hung task(s) similar to below where configfs rmdir process context
was blocked indefinately waiting for iscsi_np->np_restart_comp
to finish:

[ 6726.112076] INFO: task dcp_proxy_node_:15550 blocked for more than 120 seconds.
[ 6726.119440]       Tainted: G        W  O     4.1.26-3321 #2
[ 6726.125045] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 6726.132927] dcp_proxy_node_ D ffff8803f202bc88     0 15550      1 0x00000000
[ 6726.140058]  ffff8803f202bc88 ffff88085c64d960 ffff88083b3b1ad0 ffff88087fffeb08
[ 6726.147593]  ffff8803f202c000 7fffffffffffffff ffff88083f459c28 ffff88083b3b1ad0
[ 6726.155132]  ffff88035373c100 ffff8803f202bca8 ffffffff8168ced2 ffff88...
b89e781d
Name Last commit Last update
..
acpi Merge branch 'acpi-pci'
asm-generic asm-generic: make copy_from_user() zero the destination properly
clocksource ARM: 8366/1: move Dual-Timer SP804 driver to drivers/clocksource
crypto crypto: ahash - Fix EINPROGRESS notification callback
drm drm/ttm, drm/vmwgfx: Relax permission checking when opening surfaces
dt-bindings Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
keys KEYS: Merge the type-specific data with the payload data
kvm KVM: arm/arm64: arch_timer: Preserve physical dist. active state on LR.active
linux cpuset: fix a deadlock due to incomplete patching of cpusets_enabled()
math-emu math-emu: fix floating-point to integer overflow detection
media videobuf2-core: Check user space planes array in dqbuf
memory ddr: add LPDDR2 data from JESD209-2
misc cxl: Allow the kernel to trust that an image won't change on PERST.
net wext: handle NULL extra data in iwe_stream_add_point better
pcmcia pcmcia/ds.h: introduce helper for pcmcia_driver module boilerplate
ras tracing: add trace event for memory-failure
rdma RDMA/core: Fix incorrect structure packing for booleans
rxrpc RxRPC: Handle VERSION Rx protocol packets
scsi scsi: libiscsi: add lock around task lists to fix list corruption regression
soc ARM: at91: define LPDDR types
sound ALSA: rawmidi: Make snd_rawmidi_transmit() race-free
target iscsi-target: Fix iscsi_np reset hung task during parallel delete
trace tracing: Add #undef to fix compile error
uapi USB: hub: fix SS max number of ports
video drm/imx: Match imx-ipuv3-crtc components using device node in platform data
xen xen: Fix page <-> pfn conversion on 32 bit systems
Kbuild UAPI: remove empty Kbuild files