- 29 12月, 2015 4 次提交
-
-
由 Guo Zeng 提交于
This patch adds watchdog driver for CSRatlas7 platform. On CSRatlas7, the 6th timer can act as a watchdog timer when the Watchdog mode is enabled. Signed-off-by: NGuo Zeng <Guo.Zeng@csr.com> Signed-off-by: NWilliam Wang <William.Wang@csr.com> Signed-off-by: NBarry Song <Baohua.Song@csr.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Carlo Caione 提交于
Add SoC specific data in the watchdog driver for the meson8b SoC. Signed-off-by: NCarlo Caione <carlo@endlessm.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Carlo Caione 提交于
With this patch we refactor the driver code to enable watchdog support for all platforms based on Amlogic meson SoCs. The new default timeout is also now chosen considering the maximum timeout allowed by the SoC. Signed-off-by: NCarlo Caione <carlo@endlessm.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Mingarelli, Thomas 提交于
This patch is for the rebranding changes for the corporate split at HP. There are no functional changes with this patch. Signed-off-by: NTom Mingarelli <thomas.mingarelli@hpe.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
- 28 12月, 2015 9 次提交
-
-
由 Geliang Tang 提交于
Use to_platform_device() instead of open-coding it. Signed-off-by: NGeliang Tang <geliangtang@163.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Uwe Kleine-König 提交于
With the early_enable module parameter the watchdog can be started during driver probe time. If this is requested the bets are good that the timer is already running, so to narrow the gap where the timer is disabled only call the disable function when the timer shouldn't be started. Signed-off-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Uwe Kleine-König 提交于
omap_wdt_start calls pm_runtime_get_sync so dropping a reference just before calling omap_wdt_start doesn't make much sense. Moreover there is no point to use the synchronous variant of pm_runtime_put because the driver doesn't care if the clock is disabled before or after omap_wdt_probe returns. Signed-off-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Jisheng Zhang 提交于
On 64bit platforms, "(1 << (16 + top)) / clk_get_rate(dw_wdt.clk)" is sign-extended to 64bit then converted to unsigned 64bit, finally divide the clk rate. If the top is the maximum TOP i.e 15, "(1 << (16 +15))" will be sign-extended to 0xffffffff80000000, then converted to unsigned 0xffffffff80000000, which is a huge number, thus the final result is wrong. We fix this issue by giving usigned value(1U in this case) at first. Let's assume clk rate is 25MHZ, Before the patch: dw_wdt_top_in_seconds(15) = -864612050 After the patch: dw_wdt_top_in_seconds(15) = 85 Signed-off-by: NJisheng Zhang <jszhang@marvell.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Li RongQing 提交于
the softdog has static variables which are accessed if its timer is still running after the driver is unloaded. and lead to crash: $modprobe softdog $echo 1 >/dev/watchdog $modprobe -r softdog CPU 20 Unable to handle kernel paging request at virtual address Oops[#1]: CPU: 20 PID: 0 Comm: swapper/20 Not tainted 4.1.13-WR8.0.0.0_standard ... Modules linked in: [last unloaded: softdog] .... Call Trace: [<ffffffff801e142c>] cascade+0x34/0xb0 [<ffffffff801e1964>] run_timer_softirq+0x30c/0x368 [<ffffffff80181044>] __do_softirq+0x1ec/0x418 [<ffffffff801815d0>] irq_exit+0x90/0x98 [<ffffffff8010749c>] plat_irq_dispatch+0xa4/0x140 [<ffffffff80152740>] ret_from_irq+0x0/0x4 [<ffffffff801529e0>] __r4k_wait+0x20/0x40 [<ffffffff801c2278>] cpu_startup_entry+0x2a0/0x368 [<ffffffff8015fa64>] start_secondary+0x444/0x4d8 add the module ref when timer is running to avoid to unload the softdog module Signed-off-by: NLi RongQing <roy.qing.li@gmail.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Harald Geyer 提交于
This allows the system to actually halt even if userspace forgot to disable the watchdog first. Old behaviour was that the watchdog forced the system to boot again. Signed-off-by: NHarald Geyer <harald@ccbib.org> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Huang Rui 提交于
For SB800 and later chipsets, the register definitions are the same with SB800. And for SB700 and older chipsets, the definitions should be same with SP5100/SB7x0. Signed-off-by: NHuang Rui <ray.huang@amd.com> Cc: Denis Turischev <denis.turischev@compulab.co.il> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Huang Rui 提交于
sp5100_tco watchdog is also supported on AMD KernCZ chipset of Carrizo platform. Signed-off-by: NHuang Rui <ray.huang@amd.com> Cc: Denis Turischev <denis.turischev@compulab.co.il> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Denis Turischev 提交于
AMD Mullins watchdog is fully compatible to the previous Hudson chipset, reuse the existent sp5100_tco driver. Signed-off-by: NDenis Turischev <denis.turischev@compulab.co.il> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
- 27 12月, 2015 2 次提交
-
-
由 Pratyush Anand 提交于
This patch adds following attributes to watchdog device's sysfs interface to read its different status. * state - reads whether device is active or not * identity - reads Watchdog device's identity string. * timeout - reads current timeout. * timeleft - reads timeleft before watchdog generates a reset * bootstatus - reads status of the watchdog device at boot * status - reads watchdog device's internal status bits * nowayout - reads whether nowayout feature was set or not Testing with iTCO_wdt: # cd /sys/class/watchdog/watchdog1/ # ls bootstatus dev device identity nowayout power state subsystem timeleft timeout uevent # cat identity iTCO_wdt # cat timeout 30 # cat state inactive # echo > /dev/watchdog1 # cat timeleft 26 # cat state active # cat bootstatus 0 # cat nowayout 0 Signed-off-by: NPratyush Anand <panand@redhat.com> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Pratyush Anand 提交于
We need few sysfs attributes to know different status of a watchdog device. To do that, we need to associate .dev_groups with watchdog_class. So convert it from pointer to static. Putting this static struct in watchdog_dev.c, so that static device attributes defined in that file can be attached to it. Signed-off-by: NPratyush Anand <panand@redhat.com> Suggested-by: NGuenter Roeck <linux@roeck-us.net> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
- 13 12月, 2015 19 次提交
-
-
由 Damien Riegel 提交于
Get rid of the custom reboot notifier block registration and use the one provided by the watchdog core. Signed-off-by: NDamien Riegel <damien.riegel@savoirfairelinux.com> Reviewed-by: NVivien Didelot <vivien.didelot@savoirlinux.com> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Damien Riegel 提交于
Get rid of the custom reboot notifier block registration and use the one provided by the watchdog core. Signed-off-by: NDamien Riegel <damien.riegel@savoirfairelinux.com> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Reviewed-by: NVivien Didelot <vivien.didelot@savoirlinux.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Damien Riegel 提交于
Get rid of the custom reboot notifier block registration and use the one provided by the watchdog core. Note that this watchdog used to stop unconditionnaly on SYS_HALT and SYS_POWER_OFF. The core function now calls ops->stop on SYS_HALT and SYS_DOWN. To prevent the watchdog from being stopped on reboot, the "always-running" property must be set, otherwise it will now be stopped. Signed-off-by: NDamien Riegel <damien.riegel@savoirfairelinux.com> Reviewed-by: NVivien Didelot <vivien.didelot@savoirlinux.com> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Damien Riegel 提交于
Get rid of the custom reboot notifier block registration and use the one provided by the watchdog core. Signed-off-by: NDamien Riegel <damien.riegel@savoirfairelinux.com> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Reviewed-by: NVivien Didelot <vivien.didelot@savoirlinux.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Damien Riegel 提交于
Get rid of the custom reboot notifier block registration and use the one provided by the watchdog core. Signed-off-by: NDamien Riegel <damien.riegel@savoirfairelinux.com> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Reviewed-by: NVivien Didelot <vivien.didelot@savoirlinux.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Damien Riegel 提交于
Many watchdog drivers register a reboot notifier in order to stop the watchdog on system reboot. Thus we can factorize this code in the watchdog core. For that purpose, a new notifier block is added in watchdog_device for internal use only, as well as a new watchdog_stop_on_reboot helper function. If this helper is called, watchdog core registers the related notifier block and will stop the watchdog when SYS_HALT or SYS_DOWN is received. Since this operation can be critical on some platforms, abort the device registration if the reboot notifier registration fails. Suggested-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: NDamien Riegel <damien.riegel@savoirfairelinux.com> Reviewed-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Damien Riegel 提交于
Get rid of the custom restart handler by using the one provided by the watchdog core. Signed-off-by: NDamien Riegel <damien.riegel@savoirfairelinux.com> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Reviewed-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Damien Riegel 提交于
Get rid of the custom restart handler by using the one provided by the watchdog core. Signed-off-by: NDamien Riegel <damien.riegel@savoirfairelinux.com> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Reviewed-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Damien Riegel 提交于
Get rid of the custom restart handler by using the one provided by the watchdog core. Signed-off-by: NDamien Riegel <damien.riegel@savoirfairelinux.com> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Reviewed-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Damien Riegel 提交于
Get rid of the custom restart handler by using the one provided by the watchdog core. Signed-off-by: NDamien Riegel <damien.riegel@savoirfairelinux.com> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Reviewed-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Damien Riegel 提交于
Get rid of the custom restart handler by using the one provided by the watchdog core. Signed-off-by: NDamien Riegel <damien.riegel@savoirfairelinux.com> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Reviewed-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Damien Riegel 提交于
Get rid of the custom restart handler by using the one provided by the watchdog core. Signed-off-by: NDamien Riegel <damien.riegel@savoirfairelinux.com> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Reviewed-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Damien Riegel 提交于
Get rid of the custom restart handler by using the one provided by the watchdog core. Signed-off-by: NDamien Riegel <damien.riegel@savoirfairelinux.com> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Reviewed-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Damien Riegel 提交于
Get rid of the custom restart handler by using the one provided by the watchdog core. Signed-off-by: NDamien Riegel <damien.riegel@savoirfairelinux.com> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Reviewed-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Damien Riegel 提交于
Get rid of the custom restart handler by using the one provided by the watchdog core. Signed-off-by: NDamien Riegel <damien.riegel@savoirfairelinux.com> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Reviewed-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Damien Riegel 提交于
Get rid of the custom restart handler by using the one provided by the watchdog core. Signed-off-by: NDamien Riegel <damien.riegel@savoirfairelinux.com> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Reviewed-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Damien Riegel 提交于
Get rid of the custom restart handler by using the one provided by the watchdog core. Signed-off-by: NDamien Riegel <damien.riegel@savoirfairelinux.com> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Reviewed-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Damien Riegel 提交于
Get rid of the custom restart handler by using the one provided by the watchdog core. Signed-off-by: NDamien Riegel <damien.riegel@savoirfairelinux.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
由 Damien Riegel 提交于
Many watchdog drivers implement the same code to register a restart handler. This patch provides a generic way to set such a function. The patch adds a new restart watchdog operation. If a restart priority greater than 0 is needed, the driver can call watchdog_set_restart_priority to set it. Suggested-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: NDamien Riegel <damien.riegel@savoirfairelinux.com> Reviewed-by: NGuenter Roeck <linux@roeck-us.net> Reviewed-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
-
- 29 11月, 2015 6 次提交
-
-
由 David Disseldorp 提交于
Cut 'n paste error saw it only process sizeof(t10_wwn.vendor) characters. Signed-off-by: NDavid Disseldorp <ddiss@suse.de> Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
-
由 Jan Engelhardt 提交于
target_core_sbc's compare_and_write functionality suffers from taking data at the wrong memory location when writing a CAW request to disk when a SGL offset is non-zero. This can happen with loopback and vhost-scsi fabric drivers when SCF_PASSTHROUGH_SG_TO_MEM_NOALLOC is used to map existing user-space SGL memory into COMPARE_AND_WRITE READ/WRITE payload buffers. Given the following sample LIO subtopology, % targetcli ls /loopback/ o- loopback ................................. [1 Target] o- naa.6001405ebb8df14a ....... [naa.60014059143ed2b3] o- luns ................................... [2 LUNs] o- lun0 ................ [iblock/ram0 (/dev/ram0)] o- lun1 ................ [iblock/ram1 (/dev/ram1)] % lsscsi -g [3:0:1:0] disk LIO-ORG IBLOCK 4.0 /dev/sdc /dev/sg3 [3:0:1:1] disk LIO-ORG IBLOCK 4.0 /dev/sdd /dev/sg4 the following bug can be observed in Linux 4.3 and 4.4~rc1: % perl -e 'print chr$_ for 0..255,reverse 0..255' >rand % perl -e 'print "\0" x 512' >zero % cat rand >/dev/sdd % sg_compare_and_write -i rand -D zero --lba 0 /dev/sdd % sg_compare_and_write -i zero -D rand --lba 0 /dev/sdd Miscompare reported % hexdump -Cn 512 /dev/sdd 00000000 0f 0e 0d 0c 0b 0a 09 08 07 06 05 04 03 02 01 00 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 * 00000200 Rather than writing all-zeroes as instructed with the -D file, it corrupts the data in the sector by splicing some of the original bytes in. The page of the first entry of cmd->t_data_sg includes the CDB, and sg->offset is set to a position past the CDB. I presume that sg->offset is also the right choice to use for subsequent sglist members. Signed-off-by: NJan Engelhardt <jengelh@netitwork.de> Tested-by: NDouglas Gilbert <dgilbert@interlog.com> Cc: <stable@vger.kernel.org> # v3.12+ Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
-
由 Himanshu Madhani 提交于
this patch fixes following regression # targetcli [Errno 13] Permission denied: '/sys/kernel/config/target/qla2xxx/21:00:00:0e:1e:08:c7:20/tpgt_1/enable' Fixes: 2eafd729 ("target: use per-attribute show and store methods") Signed-off-by: NHimanshu Madhani <himanshu.madhani@qlogic.com> Signed-off-by: NGiridhar Malavali <giridhar.malavali@qlogic.com> Reviewed-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
-
由 Bart Van Assche 提交于
This patch fixes the following kernel warning because it avoids that IRQs are disabled while ft_release_cmd() is invoked (fc_seq_set_resp() invokes spin_unlock_bh()): WARNING: CPU: 3 PID: 117 at kernel/softirq.c:150 __local_bh_enable_ip+0xaa/0x110() Call Trace: [<ffffffff814f71eb>] dump_stack+0x4f/0x7b [<ffffffff8105e56a>] warn_slowpath_common+0x8a/0xc0 [<ffffffff8105e65a>] warn_slowpath_null+0x1a/0x20 [<ffffffff81062b2a>] __local_bh_enable_ip+0xaa/0x110 [<ffffffff814ff229>] _raw_spin_unlock_bh+0x39/0x40 [<ffffffffa03a7f94>] fc_seq_set_resp+0xe4/0x100 [libfc] [<ffffffffa02e604a>] ft_free_cmd+0x4a/0x90 [tcm_fc] [<ffffffffa02e6972>] ft_release_cmd+0x12/0x20 [tcm_fc] [<ffffffffa042bd66>] target_release_cmd_kref+0x56/0x90 [target_core_mod] [<ffffffffa042caf0>] target_put_sess_cmd+0xc0/0x110 [target_core_mod] [<ffffffffa042cb81>] transport_release_cmd+0x41/0x70 [target_core_mod] [<ffffffffa042d975>] transport_generic_free_cmd+0x35/0x420 [target_core_mod] Signed-off-by: NBart Van Assche <bart.vanassche@sandisk.com> Acked-by: NJoern Engel <joern@logfs.org> Reviewed-by: NAndy Grover <agrover@redhat.com> Cc: Christoph Hellwig <hch@lst.de> Cc: Hannes Reinecke <hare@suse.de> Cc: Sagi Grimberg <sagig@mellanox.com> Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
-
由 Nicholas Bellinger 提交于
This patch addresses a race + use after free where the first stage of COMPARE_AND_WRITE in compare_and_write_callback() is rescheduled after the backend sends the secondary WRITE, resulting in second stage compare_and_write_post() callback completing in target_complete_ok_work() before the first can return. Because current code depends on checking se_cmd->se_cmd_flags after return from se_cmd->transport_complete_callback(), this results in first stage having SCF_COMPARE_AND_WRITE_POST set, which incorrectly falls through into second stage CAW processing code, eventually triggering a NULL pointer dereference due to use after free. To address this bug, pass in a new *post_ret parameter into se_cmd->transport_complete_callback(), and depend upon this value instead of ->se_cmd_flags to determine when to return or fall through into ->queue_status() code for CAW. Cc: Sagi Grimberg <sagig@mellanox.com> Cc: <stable@vger.kernel.org> # v3.12+ Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
-
由 Nicholas Bellinger 提交于
This patch addresses a case where iscsi_target_do_tx_login_io() fails sending the last login response PDU, after the RX/TX threads have already been started. The case centers around iscsi_target_rx_thread() not invoking allow_signal(SIGINT) before the send_sig(SIGINT, ...) occurs from the failure path, resulting in RX thread hanging indefinately on iscsi_conn->rx_login_comp. Note this bug is a regression introduced by: commit e5419865 Author: Nicholas Bellinger <nab@linux-iscsi.org> Date: Wed Jul 22 23:14:19 2015 -0700 iscsi-target: Fix iscsit_start_kthreads failure OOPs To address this bug, complete ->rx_login_complete for good measure in the failure path, and immediately return from RX thread context if connection state did not actually reach full feature phase (TARG_CONN_STATE_LOGGED_IN). Cc: Sagi Grimberg <sagig@mellanox.com> Cc: <stable@vger.kernel.org> # v3.10+ Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
-