Nilesh Javali
f37623862e
scsi: qedi: Do not flush offload work if ARP not resolved
[ Upstream commit 927527aea0 ]
For an unreachable target, offload_work is not initialized and the endpoint
state is set to OFLDCONN_NONE. This results in a WARN_ON due to the check
of the work function field being set to zero.
------------[ cut here ]------------
WARNING: CPU: 24 PID: 18587 at ../kernel/workqueue.c:3037 __flush_work+0x1c1/0x1d0
:
Hardware name: HPE ProLiant DL380 Gen10/ProLiant DL380 Gen10, BIOS U30 02/01/2020
RIP: 0010:__flush_work+0x1c1/0x1d0
Code: ba 6d 00 03 80 c9 f0 eb b6 48 c7 c7 20 ee 6c a4 e8 52 d3 04 00 0f 0b 31 c0 e9 d1 fe ff
ff 48 c7 c7 20 ee 6c a4 e8 3d d3 04 00 <0f> 0b 31 c0 e9 bc fe ff ff e8 11 f3 f
00 31 f6
RSP: 0018:ffffac5a8cd47a80 EFLAGS: 00010282
RAX: 0000000000000024 RBX: ffff98d68c1fcaf0 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffff98ce9fd99898 RDI: ffff98ce9fd99898
RBP: ffff98d68c1fcbc0 R08: 00000000000006fa R09: 0000000000000001
R10: ffffac5a8cd47b50 R11: 0000000000000001 R12: 0000000000000000
R13: 000000000000489b R14: ffff98d68c1fc800 R15: ffff98d692132c00
FS: 00007f65f7f62280(0000) GS:ffff98ce9fd80000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffd2435e880 CR3: 0000000809334003 CR4: 00000000007606e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
PKRU: 55555554
Call Trace:
? class_create_release+0x40/0x40
? klist_put+0x2c/0x80
qedi_ep_disconnect+0xdd/0x400 [qedi]
iscsi_if_ep_disconnect.isra.20+0x59/0x70 [scsi_transport_iscsi]
iscsi_if_rx+0x129b/0x1670 [scsi_transport_iscsi]
? __netlink_lookup+0xe7/0x160
netlink_unicast+0x21d/0x300
netlink_sendmsg+0x30f/0x430
sock_sendmsg+0x5b/0x60
____sys_sendmsg+0x1e2/0x240
? copy_msghdr_from_user+0xd9/0x160
___sys_sendmsg+0x88/0xd0
? ___sys_recvmsg+0xa2/0xe0
? hrtimer_try_to_cancel+0x25/0x100
? do_nanosleep+0x9c/0x170
? __sys_sendmsg+0x5e/0xa0
__sys_sendmsg+0x5e/0xa0
do_syscall_64+0x60/0x1f0
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x7f65f6f16107
Code: 64 89 02 48 c7 c0 ff ff ff ff eb b9 0f 1f 80 00 00 00 00 8b 05 aa d2 2b 00 48 63 d2 48
63 ff 85 c0 75 18 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 59 f3 c3 0f 1f 8
0 00 00 00 00 53 48 89 f3 48
RSP: 002b:00007ffd24367ca8 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 000055a7aeaaf110 RCX: 00007f65f6f16107
RDX: 0000000000000000 RSI: 00007ffd24367cc0 RDI: 0000000000000003
RBP: 0000000000000070 R08: 0000000000000000 R09: 0000000000000000
R10: 000000000000075c R11: 0000000000000246 R12: 00007ffd24367cc0
R13: 000055a7ae560008 R14: 00007ffd24367db0 R15: 0000000000000000
---[ end trace 54f499c05d41f8bb ]---
Only flush if the connection endpoint state if different from
OFLDCONN_NONE.
[mkp: clarified commit desc]
Link: https://lore.kernel.org/r/20200408064332.19377-5-mrangankar@marvell.com
Reviewed-by: Lee Duncan <lduncan@suse.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Manish Rangankar <mrangankar@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-06-24 17:50:20 +02:00
..
2020-06-22 09:30:54 +02:00
2020-03-25 08:25:50 +01:00
2020-04-17 10:50:22 +02:00
2020-02-24 08:36:36 +01:00
2020-06-10 20:24:57 +02:00
2020-06-24 17:50:15 +02:00
2020-06-22 09:31:18 +02:00
2020-04-17 10:49:56 +02:00
2020-06-17 16:40:36 +02:00
2020-06-24 17:50:17 +02:00
2020-06-22 09:30:55 +02:00
2020-05-02 08:48:44 +02:00
2020-06-17 16:40:33 +02:00
2020-06-22 09:31:10 +02:00
2020-06-22 09:31:07 +02:00
2020-05-27 17:46:48 +02:00
2020-05-10 10:31:34 +02:00
2020-05-27 17:46:43 +02:00
2020-05-06 08:15:01 +02:00
2020-06-22 09:31:20 +02:00
2020-04-08 09:08:43 +02:00
2020-06-22 09:30:52 +02:00
2020-04-29 16:33:22 +02:00
2020-06-22 09:31:20 +02:00
2020-06-24 17:50:16 +02:00
2020-06-22 09:31:08 +02:00
2020-06-07 13:18:47 +02:00
2020-06-22 09:31:00 +02:00
2020-06-22 09:31:19 +02:00
2020-06-24 17:50:15 +02:00
2020-06-24 17:50:12 +02:00
2020-02-24 08:36:53 +01:00
2020-06-24 17:50:12 +02:00
2020-06-24 17:50:17 +02:00
2020-06-24 17:50:12 +02:00
2020-06-03 08:21:28 +02:00
2020-05-27 17:46:47 +02:00
2020-04-23 10:36:20 +02:00
2020-04-23 10:36:37 +02:00
2020-06-22 09:31:22 +02:00
2020-06-24 17:50:13 +02:00
2020-06-22 09:31:19 +02:00
2020-06-24 17:50:16 +02:00
2020-06-24 17:50:13 +02:00
2020-06-22 09:31:10 +02:00
2020-06-22 09:31:26 +02:00
2020-06-24 17:50:19 +02:00
2020-06-10 20:24:54 +02:00
2020-06-24 17:50:18 +02:00
2020-04-23 10:36:42 +02:00
2020-06-22 09:31:04 +02:00
2020-06-10 20:24:57 +02:00
2020-04-23 10:36:23 +02:00
2020-02-24 08:36:34 +01:00
2020-06-24 17:50:17 +02:00
2020-06-22 09:31:01 +02:00
2020-04-23 10:36:33 +02:00
2020-06-24 17:50:14 +02:00
2020-06-22 09:31:11 +02:00
2020-06-24 17:50:08 +02:00
2020-06-24 17:50:18 +02:00
2020-05-27 17:46:48 +02:00
2020-06-22 09:30:58 +02:00
2020-06-24 17:50:13 +02:00
2020-02-24 08:36:41 +01:00
2020-06-24 17:50:12 +02:00
2020-05-20 08:20:26 +02:00
2020-06-24 17:50:20 +02:00
2020-06-22 09:31:22 +02:00
2020-06-22 09:31:10 +02:00
2020-02-19 19:53:07 +01:00
2020-06-24 17:50:20 +02:00
2020-05-27 17:46:40 +02:00
2020-03-05 16:43:50 +01:00
2020-02-28 17:22:13 +01:00
2020-06-24 17:50:13 +02:00
2020-02-24 08:36:27 +01:00
2020-06-24 17:50:16 +02:00
2020-06-24 17:50:15 +02:00
2020-06-24 17:50:17 +02:00
2020-06-24 17:50:09 +02:00
2020-03-18 07:17:55 +01:00
2020-02-24 08:36:47 +01:00
2020-02-24 08:36:48 +01:00
2020-06-22 09:31:26 +02:00
2020-06-17 16:40:27 +02:00
2020-06-17 16:40:38 +02:00