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

2016-01-27 Thread Hannes Reinecke
On 01/26/2016 06:10 PM, 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 "
> 
Reviewed-by: Hannes Reinecke 

Cheers,

Hannes
-- 
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de   +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
--
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 10/11] qla2xxx: Set relogin flag when we fail to queue login requests.

2016-01-26 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