qla2xxx: Fix a recently introduced kernel warning
Subsystems (2)
PATCH 1/1 qla2xxx: Fix a recently introduced kernel warning
According to the firmware documentation a status type 0 IOCB can be followed by one or more status continuation type 0 IOCBs. Hence do not complain if the completion function is not called from inside the status type 0 IOCB handler.
WARNING: CPU: 10 PID: 425 at drivers/scsi/qla2xxx/qla_isr.c:2784 qla2x00_status_entry.isra.7+0x484/0x17b0 [qla2xxx] CPU: 10 PID: 425 Comm: kworker/10:1 Tainted: G E 5.3.0-rc4-next-20190813-autotest-autotest #1 Workqueue: qla2xxx_wq qla25xx_free_rsp_que [qla2xxx] Call Trace: qla2x00_status_entry.isra.7+0x1484/0x17b0 [qla2xxx] (unreliable) qla24xx_process_response_queue+0x7d8/0xbd0 [qla2xxx] qla25xx_free_rsp_que+0x1a0/0x220 [qla2xxx] process_one_work+0x25c/0x520 worker_thread+0x8c/0x5e0 kthread+0x154/0x1a0 ret_from_kernel_thread+0x5c/0x7c
--- drivers/scsi/qla2xxx/qla_isr.c | 2 -- 1 file changed, 2 deletions(-)
drivers/scsi/qla2xxx/qla_isr.c +0 -2
@@ -2780,8 +2780,6 @@ qla2x00_status_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, void *pkt)if (rsp->status_srb ==NULL ) sp->done (sp, res); -else -WARN_ON_ONCE (true); }/**
Signature · 1 line
2.22.0
Quoted 31 lines · Bart Van Assche
According to the firmware documentation a status type 0 IOCB can be followed by one or more status continuation type 0 IOCBs. Hence do not complain if the completion function is not called from inside the status type 0 IOCB handler.
WARNING: CPU: 10 PID: 425 at drivers/scsi/qla2xxx/qla_isr.c:2784 qla2x00_status_entry.isra.7+0x484/0x17b0 [qla2xxx] CPU: 10 PID: 425 Comm: kworker/10:1 Tainted: G E 5.3.0-rc4-next-20190813-autotest-autotest #1 Workqueue: qla2xxx_wq qla25xx_free_rsp_que [qla2xxx] Call Trace: qla2x00_status_entry.isra.7+0x1484/0x17b0 [qla2xxx] (unreliable) qla24xx_process_response_queue+0x7d8/0xbd0 [qla2xxx] qla25xx_free_rsp_que+0x1a0/0x220 [qla2xxx] process_one_work+0x25c/0x520 worker_thread+0x8c/0x5e0 kthread+0x154/0x1a0 ret_from_kernel_thread+0x5c/0x7cCc Himanshu Madhani <[email protected]>Cc Abdul Haleem <[email protected]>Reported-and-tested-by Abdul Haleem <[email protected]>Signed-off-by Bart Van Assche <[email protected]>--- drivers/scsi/qla2xxx/qla_isr.c | 2 -- 1 file changed, 2 deletions(-)drivers/scsi/qla2xxx/qla_isr.c +0
-0
drivers/scsi/qla2xxx/qla_isr.c qla2x00_status_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, void *pkt) · line 2782
Quoted 3 lines
drivers/scsi/qla2xxx/qla_isr.c +0
-0@@ -2780,8 +2780,6 @@ qla2x00_status_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, void *pkt)if (rsp->status_srb ==NULL ) sp->done(sp, * do-not-remove-the-first-digit-when-auto-completing-the-tpg-tag
res);
drivers/scsi/qla2xxx/qla_isr.c qla2x00_status_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, void *pkt) · line 2785
Quoted 6 lines
drivers/scsi/qla2xxx/qla_isr.c +0
-2-else -WARN_ON_ONCE (true); }/**
Martin K. Petersen
AppliedBart,
Quoted 4 lines
According to the firmware documentation a status type 0 IOCB can be followed by one or more status continuation type 0 IOCBs. Hence do not complain if the completion function is not called from inside the status type 0 IOCB handler.
Applied to 5.4/scsi-queue, thanks!
Signature · 1 line
Martin K. Petersen Oracle Linux Engineering