Viacheslav Dubeyko
3201bb03c8
scsi: qla2xxx: Fix warning after FC target reset
[ Upstream commit f839544ccf ]
Currently, FC target reset finishes with the warning message:
[84010.596893] ------------[ cut here ]------------
[84010.596917] WARNING: CPU: 238 PID: 279973 at ../drivers/scsi/qla2xxx/qla_target.c:6644 qlt_enable_vha+0x1d0/0x260 [qla2xxx]
[84010.596918] Modules linked in: vrf af_packet 8021q garp mrp stp llc netlink_diag target_tatlin_tblock(OEX) dm_ec(OEX) ttln_rdma(OEX) dm_frontend(OEX) nvme_rdma nvmet tcm_qla2xxx iscsi_target_mod target_core_mod at24 nvmem_core pnv_php ipmi_watchdog ipmi_ssif vmx_crypto gf128mul crct10dif_vpmsum qla2xxx rpcrdma nvme_fc powernv_flash(X) nvme_fabrics uio_pdrv_genirq mtd rtc_opal(X) ibmpowernv(X) opal_prd(X) uio scsi_transport_fc i2c_opal(X) ses enclosure ipmi_poweroff ast i2c_algo_bit ttm bmc_mcu(OEX) drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops drm drm_panel_orientation_quirks agpgart nfsd auth_rpcgss nfs_acl ipmi_powernv(X) lockd ipmi_devintf ipmi_msghandler grace dummy ext4 crc16 jbd2 mbcache sd_mod rdma_ucm ib_iser rdma_cm ib_umad iw_cm ib_ipoib libiscsi scsi_transport_iscsi ib_cm
[84010.596975] configfs mlx5_ib ib_uverbs ib_core mlx5_core crc32c_vpmsum xhci_pci xhci_hcd mpt3sas(OEX) tg3 usbcore mlxfw tls raid_class libphy scsi_transport_sas devlink ptp pps_core nvme nvme_core sunrpc dm_mirror dm_region_hash dm_log sg dm_multipath dm_mod scsi_dh_rdac scsi_dh_emc scsi_dh_alua scsi_mod autofs4
[84010.597001] Supported: Yes, External
[84010.597004] CPU: 238 PID: 279973 Comm: bash Tainted: G OE 4.12.14-197.29-default #1 SLE15-SP1
[84010.597006] task: c000000a104c0000 task.stack: c000000b52188000
[84010.597007] NIP: d00000001ffd7f78 LR: d00000001ffd7f6c CTR: c0000000001676c0
[84010.597008] REGS: c000000b5218b910 TRAP: 0700 Tainted: G OE (4.12.14-197.29-default)
[84010.597008] MSR: 900000010282b033 <SF,HV,VEC,VSX,EE,FP,ME,IR,DR,RI,LE,TM[E]>
[84010.597015] CR: 48242424 XER: 00000000
[84010.597016] CFAR: d00000001ff45d08 SOFTE: 1
GPR00: d00000001ffd7f6c c000000b5218bb90 d00000002001b228 0000000000000102
GPR04: 0000000000000001 0000000000000001 00013d91ed0a5e2d 0000000000000000
GPR08: c000000007793300 0000000000000000 0000000000000000 c000000a086e7818
GPR12: 0000000000002200 c000000007793300 0000000000000000 000000012bc937c0
GPR16: 000000012bbf7ed0 0000000000000000 000000012bc3dd10 0000000000000000
GPR20: 000000012bc4db28 0000010036442810 000000012bc97828 000000012bc96c70
GPR24: 00000100365b1550 0000000000000000 00000100363f3d80 c000000be20d3080
GPR28: c000000bda7eae00 c000000be20db7e8 c000000be20d3778 c000000be20db7e8
[84010.597042] NIP [d00000001ffd7f78] qlt_enable_vha+0x1d0/0x260 [qla2xxx]
[84010.597051] LR [d00000001ffd7f6c] qlt_enable_vha+0x1c4/0x260 [qla2xxx]
[84010.597051] Call Trace:
[84010.597061] [c000000b5218bb90] [d00000001ffd7f6c] qlt_enable_vha+0x1c4/0x260 [qla2xxx] (unreliable)
[84010.597064] [c000000b5218bc20] [d000000009820b6c] tcm_qla2xxx_tpg_enable_store+0xc4/0x130 [tcm_qla2xxx]
[84010.597067] [c000000b5218bcb0] [d0000000185d0e68] configfs_write_file+0xd0/0x190 [configfs]
[84010.597072] [c000000b5218bd00] [c0000000003d0edc] __vfs_write+0x3c/0x1e0
[84010.597074] [c000000b5218bd90] [c0000000003d2ea8] vfs_write+0xd8/0x220
[84010.597076] [c000000b5218bde0] [c0000000003d4ddc] SyS_write+0x6c/0x110
[84010.597079] [c000000b5218be30] [c00000000000b188] system_call+0x3c/0x130
[84010.597080] Instruction dump:
[84010.597082] 7d0050a8 7d084b78 7d0051ad 40c2fff4 7fa3eb78 4bf73965 60000000 7fa3eb78
[84010.597086] 4bf6dcd9 60000000 2fa30000 419eff40 <0fe00000> 4bffff38 e95f0058 a12a0180
[84010.597090] ---[ end trace e32abaf6e6fee826 ]---
To reproduce:
echo 0x7fffffff > /sys/module/qla2xxx/parameters/logging
modprobe target_core_mod
modprobe tcm_qla2xxx
mkdir /sys/kernel/config/target/qla2xxx
mkdir /sys/kernel/config/target/qla2xxx/<port-name>
mkdir /sys/kernel/config/target/qla2xxx/<port-name>/tpgt_1
echo 1 > /sys/kernel/config/target/qla2xxx/<port-name>/tpgt_1/enable
echo 0 > /sys/kernel/config/target/qla2xxx/<port-name>/tpgt_1/enable
echo 1 > /sys/kernel/config/target/qla2xxx/<port-name>/tpgt_1/enable
SYSTEM START
kernel: pid 327:drivers/scsi/qla2xxx/qla_init.c:2174 qla2x00_initialize_adapter(): vha->flags.online 0x0
<...>
kernel: pid 327:drivers/scsi/qla2xxx/qla_os.c:3444 qla2x00_probe_one(): vha->flags.online 0x1
echo 1 > /sys/kernel/config/target/qla2xxx/21:00:00:24:ff:86:a6:2a/tpgt_1/enable
kernel: pid 348:drivers/scsi/qla2xxx/qla_init.c:6641 qla2x00_abort_isp_cleanup(): vha->flags.online 0x0, ISP_ABORT_NEEDED 0x0
<...>
kernel: pid 348:drivers/scsi/qla2xxx/qla_init.c:6998 qla2x00_restart_isp(): vha->flags.online 0x0
echo 0 > /sys/kernel/config/target/qla2xxx/21:00:00:24:ff:86:a6:2a/tpgt_1/enable
kernel: pid 348:drivers/scsi/qla2xxx/qla_init.c:6641 qla2x00_abort_isp_cleanup(): vha->flags.online 0x0, ISP_ABORT_NEEDED 0x0
<...>
kernel: pid 1404:drivers/scsi/qla2xxx/qla_os.c:1107 qla2x00_wait_for_hba_online(): base_vha->flags.online 0x0
echo 1 > /sys/kernel/config/target/qla2xxx/21:00:00:24:ff:86:a6:2a/tpgt_1/enable
kernel: pid 1404:drivers/scsi/qla2xxx/qla_os.c:1107 qla2x00_wait_for_hba_online(): base_vha->flags.online 0x0
kernel: -----------[ cut here ]-----------
kernel: WARNING: CPU: 1 PID: 1404 at drivers/scsi/qla2xxx/qla_target.c:6654 qlt_enable_vha+0x1e0/0x280 [qla2xxx]
The issue happens because no real ISP reset is executed. The
qla2x00_abort_isp(scsi_qla_host_t *vha) function expects that
vha->flags.online will be not zero for ISP reset procedure. This patch
sets vha->flags.online to 1 before calling ->abort_isp() for starting the
ISP reset.
Link: https://lore.kernel.org/r/1d7b21bf9f7676643239eb3d60eaca7cfa505cf0.camel@yadro.com
Reviewed-by: Roman Bolshakov <r.bolshakov@yadro.com>
Signed-off-by: Viacheslav Dubeyko <v.dubeiko@yadro.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-06-24 17:50:24 +02:00
..
2019-08-28 08:28:39 -05:00
2020-02-24 08:36:38 +01:00
2019-07-30 12:12:59 -04:00
2019-05-21 10:50:46 +02:00
2019-08-12 21:54:03 -04:00
2019-06-05 17:37:07 +02:00
2020-01-14 20:08:37 +01:00
2019-10-05 12:53:27 -07:00
2020-01-23 08:22:58 +01:00
2020-02-11 04:35:44 -08:00
2020-06-24 17:50:16 +02:00
2019-07-30 15:58:28 -04:00
2019-10-25 20:11:33 -04:00
2019-05-30 11:26:32 -07:00
2020-01-23 08:22:58 +01:00
2019-09-21 10:50:15 -07:00
2020-02-05 21:22:49 +00:00
2020-06-24 17:50:15 +02:00
2020-06-24 17:50:19 +02:00
2019-07-30 15:59:53 -04:00
2019-06-20 15:37:02 -04:00
2020-04-29 16:32:58 +02:00
2020-01-09 10:19:46 +01:00
2020-06-24 17:50:17 +02:00
2020-06-17 16:40:35 +02:00
2020-04-17 10:50:23 +02:00
2019-07-11 15:14:01 -07:00
2019-07-11 15:17:41 -07:00
2020-01-04 19:18:14 +01:00
2020-06-24 17:50:21 +02:00
2020-06-24 17:50:20 +02:00
2020-06-24 17:50:24 +02:00
2020-02-11 04:35:44 -08:00
2020-04-29 16:33:06 +02:00
2019-08-12 21:58:07 -04:00
2020-06-07 13:18:48 +02:00
2019-02-25 21:37:25 -05:00
2019-03-02 11:39:54 -08:00
2019-05-24 17:36:45 +02:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2019-07-11 15:17:41 -07:00
2019-07-11 15:17:41 -07:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2020-01-04 19:18:10 +01:00
2019-05-21 10:50:45 +02:00
2019-06-05 17:37:11 +02:00
2019-06-05 17:37:11 +02:00
2019-05-21 10:50:45 +02:00
2019-10-09 23:39:35 -04:00
2019-05-24 17:36:45 +02:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-07-11 15:17:41 -07:00
2019-06-20 15:21:33 -04:00
2019-07-30 12:18:24 -04:00
2019-06-18 19:46:18 -04:00
2019-07-30 12:17:28 -04:00
2019-06-18 19:46:22 -04:00
2019-05-21 10:50:45 +02:00
2019-05-30 11:25:18 -07:00
2019-05-21 10:50:45 +02:00
2019-07-20 10:04:58 -07:00
2019-07-11 15:14:01 -07:00
2019-10-25 20:11:33 -04:00
2019-06-18 19:46:18 -04:00
2019-06-05 17:36:37 +02:00
2019-06-05 17:36:37 +02:00
2019-07-11 15:17:41 -07:00
2019-05-21 11:28:46 +02:00
2020-04-01 11:01:54 +02:00
2020-04-01 11:01:54 +02:00
2019-06-05 17:36:37 +02:00
2020-02-24 08:36:50 +01:00
2019-05-30 11:26:37 -07:00
2019-05-21 10:50:45 +02:00
2019-10-25 20:11:33 -04:00
2019-05-24 17:36:45 +02:00
2019-07-11 15:14:01 -07:00
2019-12-21 11:05:04 +01:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2020-01-04 19:18:10 +01:00
2019-07-17 22:39:27 +09:00
2019-09-23 23:09:42 -04:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2019-07-11 15:17:41 -07:00
2019-05-30 11:26:39 -07:00
2019-05-20 10:56:43 -04:00
2019-08-07 21:53:23 -04:00
2019-05-24 17:36:45 +02:00
2020-01-04 19:18:16 +01:00
2019-06-20 15:37:02 -04:00
2019-05-24 17:39:02 +02:00
2019-05-24 17:39:02 +02:00
2019-08-12 21:57:13 -04:00
2019-05-30 11:26:35 -07:00
2019-06-20 15:21:33 -04:00
2019-05-30 11:26:38 -07:00
2019-08-16 11:33:56 -07:00
2019-08-16 11:33:56 -07:00
2019-03-19 17:11:37 -04:00
2019-08-07 21:32:53 -04:00
2019-06-05 17:37:17 +02:00
2019-05-24 17:36:45 +02:00
2020-01-04 19:18:15 +01:00
2019-07-30 12:42:55 -04:00
2019-05-21 06:16:21 -04:00
2019-07-11 20:39:22 -04:00
2019-05-30 11:26:35 -07:00
2019-10-03 21:43:04 -04:00
2019-05-21 06:16:21 -04:00
2020-06-24 17:50:10 +02:00
2019-08-07 21:47:29 -04:00
2019-05-30 11:26:35 -07:00
2020-06-07 13:18:50 +02:00
2019-06-18 19:46:17 -04:00
2019-07-30 13:07:42 +02:00
2019-04-15 22:25:00 -04:00
2019-05-30 11:29:53 -07:00
2019-10-17 21:57:09 -04:00
2020-01-23 08:22:59 +01:00
2019-07-11 15:14:01 -07:00
2020-04-29 16:32:59 +02:00
2020-01-23 08:22:58 +01:00
2019-05-30 11:26:35 -07:00
2019-06-19 17:09:56 +02:00
2019-07-11 15:14:01 -07:00
2019-06-05 17:37:14 +02:00
2019-11-05 23:17:53 -05:00
2020-04-01 11:02:01 +02:00
2019-08-04 21:41:29 -06:00
2019-07-11 15:14:01 -07:00
2020-05-20 08:20:07 +02:00
2019-05-24 17:36:45 +02:00
2019-10-09 23:35:42 -04:00
2020-06-24 17:50:19 +02:00
2019-07-11 15:14:01 -07:00
2019-05-30 11:26:32 -07:00
2020-01-23 08:22:38 +01:00
2020-01-04 19:18:10 +01:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2019-09-10 22:10:17 -04:00
2019-07-11 15:17:41 -07:00
2019-08-07 21:35:59 -04:00
2019-05-24 17:39:02 +02:00
2019-07-11 15:14:01 -07:00
2019-05-21 10:50:45 +02:00
2019-05-21 10:50:45 +02:00
2020-01-04 19:17:37 +01:00