diff mbox

[v2,19/22] qla2xxx: Remove aborting ELS IOCB call issued as part of timeout.

Message ID 20171130034047.15070-20-himanshu.madhani@cavium.com (mailing list archive)
State Superseded
Headers show

Commit Message

Madhani, Himanshu Nov. 30, 2017, 3:40 a.m. UTC
From: Giridhar Malavali <giridhar.malavali@cavium.com>

This fix the spinlock recursion issue seen while unloading the driver.

14 [ffff9f2e21e03db8] native_queued_spin_lock_slowpath at ffffffffad0d8802
15 [ffff9f2e21e03dc0] do_raw_spin_lock at ffffffffad0d99e4
16 [ffff9f2e21e03dd8] _raw_spin_lock_irqsave at ffffffffad652471
17 [ffff9f2e21e03e00] qla2x00_els_dcmd_iocb_timeout at ffffffffc070cd63
18 [ffff9f2e21e03e40] qla2x00_sp_timeout at ffffffffc06f06d3 [qla2xxx]
19 [ffff9f2e21e03e68] call_timer_fn at ffffffffad0f97d8
20 [ffff9f2e21e03ed8] run_timer_softirq at ffffffffad0faf47
21 [ffff9f2e21e03f68] __softirqentry_text_start at ffffffffad655f32

Fixes: 6eb54715b54bb ("qla2xxx: Added interface to send explicit LOGO.")
Cc: <stable@vger.kernel.org> # 4.10+
Signed-off-by: Giridhar Malavali <giridhar.malavali@cavium.com>
Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com>
---
 drivers/scsi/qla2xxx/qla_iocb.c | 10 ----------
 1 file changed, 10 deletions(-)

Comments

Hannes Reinecke Nov. 30, 2017, 4:23 p.m. UTC | #1
On 11/30/2017 04:40 AM, Himanshu Madhani wrote:
> From: Giridhar Malavali <giridhar.malavali@cavium.com>
> 
> This fix the spinlock recursion issue seen while unloading the driver.
> 
> 14 [ffff9f2e21e03db8] native_queued_spin_lock_slowpath at ffffffffad0d8802
> 15 [ffff9f2e21e03dc0] do_raw_spin_lock at ffffffffad0d99e4
> 16 [ffff9f2e21e03dd8] _raw_spin_lock_irqsave at ffffffffad652471
> 17 [ffff9f2e21e03e00] qla2x00_els_dcmd_iocb_timeout at ffffffffc070cd63
> 18 [ffff9f2e21e03e40] qla2x00_sp_timeout at ffffffffc06f06d3 [qla2xxx]
> 19 [ffff9f2e21e03e68] call_timer_fn at ffffffffad0f97d8
> 20 [ffff9f2e21e03ed8] run_timer_softirq at ffffffffad0faf47
> 21 [ffff9f2e21e03f68] __softirqentry_text_start at ffffffffad655f32
> 
> Fixes: 6eb54715b54bb ("qla2xxx: Added interface to send explicit LOGO.")
> Cc: <stable@vger.kernel.org> # 4.10+
> Signed-off-by: Giridhar Malavali <giridhar.malavali@cavium.com>
> Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com>
> ---
>  drivers/scsi/qla2xxx/qla_iocb.c | 10 ----------
>  1 file changed, 10 deletions(-)
> 
> diff --git a/drivers/scsi/qla2xxx/qla_iocb.c b/drivers/scsi/qla2xxx/qla_iocb.c
> index 106f4ac4f733..8ea59586f4f1 100644
> --- a/drivers/scsi/qla2xxx/qla_iocb.c
> +++ b/drivers/scsi/qla2xxx/qla_iocb.c
> @@ -2392,7 +2392,6 @@ qla2x00_els_dcmd_iocb_timeout(void *data)
>  	srb_t *sp = data;
>  	fc_port_t *fcport = sp->fcport;
>  	struct scsi_qla_host *vha = sp->vha;
> -	struct qla_hw_data *ha = vha->hw;
>  	struct srb_iocb *lio = &sp->u.iocb_cmd;
>  
>  	ql_dbg(ql_dbg_io, vha, 0x3069,
> @@ -2400,15 +2399,6 @@ qla2x00_els_dcmd_iocb_timeout(void *data)
>  	    sp->name, sp->handle, fcport->d_id.b.domain, fcport->d_id.b.area,
>  	    fcport->d_id.b.al_pa);
>  
> -	/* Abort the exchange */
> -	if (ha->isp_ops->abort_command(sp)) {
> -		ql_dbg(ql_dbg_io, vha, 0x3070,
> -		    "mbx abort_command failed.\n");
> -	} else {
> -		ql_dbg(ql_dbg_io, vha, 0x3071,
> -		    "mbx abort_command success.\n");
> -	}
> -
>  	complete(&lio->u.els_logo.comp);
>  }
>  
> 
Reviewed-by: Hannes Reinecke <hare@suse.com>

Cheers,

Hannes
diff mbox

Patch

diff --git a/drivers/scsi/qla2xxx/qla_iocb.c b/drivers/scsi/qla2xxx/qla_iocb.c
index 106f4ac4f733..8ea59586f4f1 100644
--- a/drivers/scsi/qla2xxx/qla_iocb.c
+++ b/drivers/scsi/qla2xxx/qla_iocb.c
@@ -2392,7 +2392,6 @@  qla2x00_els_dcmd_iocb_timeout(void *data)
 	srb_t *sp = data;
 	fc_port_t *fcport = sp->fcport;
 	struct scsi_qla_host *vha = sp->vha;
-	struct qla_hw_data *ha = vha->hw;
 	struct srb_iocb *lio = &sp->u.iocb_cmd;
 
 	ql_dbg(ql_dbg_io, vha, 0x3069,
@@ -2400,15 +2399,6 @@  qla2x00_els_dcmd_iocb_timeout(void *data)
 	    sp->name, sp->handle, fcport->d_id.b.domain, fcport->d_id.b.area,
 	    fcport->d_id.b.al_pa);
 
-	/* Abort the exchange */
-	if (ha->isp_ops->abort_command(sp)) {
-		ql_dbg(ql_dbg_io, vha, 0x3070,
-		    "mbx abort_command failed.\n");
-	} else {
-		ql_dbg(ql_dbg_io, vha, 0x3071,
-		    "mbx abort_command success.\n");
-	}
-
 	complete(&lio->u.els_logo.comp);
 }