Re: [PATCH v2 10/11] qla2xxx: Set relogin flag when we fail to queue login requests.

2016-01-28 Thread Johannes Thumshirn
On Wed, Jan 27, 2016 at 12:03:37PM -0500, Himanshu Madhani wrote:
> From: Chad Dupuis 
> 
> If we fail to queue an srb for an async login we should set the
> relogin flag so it will be retried as the reason for the queuing
> failure was most likely transient.  Failure to do this can lead to
> failed paths as login is never retried if the relogin flag is not
> set.
> 
> Signed-off-by: Chad Dupuis 
> Signed-off-by: Himanshu Madhani 
> ---
>  drivers/scsi/qla2xxx/qla_init.c |6 +-
>  1 files changed, 5 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
> index 8001c89..184b6b6 100644
> --- a/drivers/scsi/qla2xxx/qla_init.c
> +++ b/drivers/scsi/qla2xxx/qla_init.c
> @@ -157,8 +157,12 @@ qla2x00_async_login(struct scsi_qla_host *vha, fc_port_t 
> *fcport,
>   if (data[1] & QLA_LOGIO_LOGIN_RETRIED)
>   lio->u.logio.flags |= SRB_LOGIN_RETRIED;
>   rval = qla2x00_start_sp(sp);
> - if (rval != QLA_SUCCESS)
> + if (rval != QLA_SUCCESS) {
> + fcport->flags &= ~FCF_ASYNC_SENT;
> + fcport->flags |= FCF_LOGIN_NEEDED;
> + set_bit(RELOGIN_NEEDED, &vha->dpc_flags);
>   goto done_free_sp;
> + }
>  
>   ql_dbg(ql_dbg_disc, vha, 0x2072,
>   "Async-login - hdl=%x, loopid=%x portid=%02x%02x%02x "
> -- 
> 1.7.7
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reviewed-by: Johannes Thumshirn 
-- 
Johannes Thumshirn  Storage
jthumsh...@suse.de+49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2 10/11] qla2xxx: Set relogin flag when we fail to queue login requests.

2016-01-27 Thread Himanshu Madhani
From: Chad Dupuis 

If we fail to queue an srb for an async login we should set the
relogin flag so it will be retried as the reason for the queuing
failure was most likely transient.  Failure to do this can lead to
failed paths as login is never retried if the relogin flag is not
set.

Signed-off-by: Chad Dupuis 
Signed-off-by: Himanshu Madhani 
---
 drivers/scsi/qla2xxx/qla_init.c |6 +-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index 8001c89..184b6b6 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -157,8 +157,12 @@ qla2x00_async_login(struct scsi_qla_host *vha, fc_port_t 
*fcport,
if (data[1] & QLA_LOGIO_LOGIN_RETRIED)
lio->u.logio.flags |= SRB_LOGIN_RETRIED;
rval = qla2x00_start_sp(sp);
-   if (rval != QLA_SUCCESS)
+   if (rval != QLA_SUCCESS) {
+   fcport->flags &= ~FCF_ASYNC_SENT;
+   fcport->flags |= FCF_LOGIN_NEEDED;
+   set_bit(RELOGIN_NEEDED, &vha->dpc_flags);
goto done_free_sp;
+   }
 
ql_dbg(ql_dbg_disc, vha, 0x2072,
"Async-login - hdl=%x, loopid=%x portid=%02x%02x%02x "
-- 
1.7.7

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html