public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 01/14] lpfc: The lpfc driver does not issue RFF_ID and RFT_ID in the correct sequence
@ 2015-04-20 13:56 James Smart
  2015-04-21  9:58 ` Hannes Reinecke
  2015-04-21 11:23 ` Sebastian Herbszt
  0 siblings, 2 replies; 5+ messages in thread
From: James Smart @ 2015-04-20 13:56 UTC (permalink / raw)
  To: linux-scsi


The lpfc driver does not issue RFF_ID and RFT_ID in the correct sequence

Signed-off-by: Dick Kennedy <dick.kennedy@emulex.com>
Signed-off-by: James Smart <james.smart@emulex.com>
---
 drivers/scsi/lpfc/lpfc_hbadisc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/lpfc/lpfc_hbadisc.c b/drivers/scsi/lpfc/lpfc_hbadisc.c
index 2500f15..f2db89f 100644
--- a/drivers/scsi/lpfc/lpfc_hbadisc.c
+++ b/drivers/scsi/lpfc/lpfc_hbadisc.c
@@ -3868,11 +3868,11 @@ out:
 
 	if (vport->port_state < LPFC_VPORT_READY) {
 		/* Link up discovery requires Fabric registration. */
-		lpfc_ns_cmd(vport, SLI_CTNS_RFF_ID, 0, 0); /* Do this first! */
 		lpfc_ns_cmd(vport, SLI_CTNS_RNN_ID, 0, 0);
 		lpfc_ns_cmd(vport, SLI_CTNS_RSNN_NN, 0, 0);
 		lpfc_ns_cmd(vport, SLI_CTNS_RSPN_ID, 0, 0);
 		lpfc_ns_cmd(vport, SLI_CTNS_RFT_ID, 0, 0);
+		lpfc_ns_cmd(vport, SLI_CTNS_RFF_ID, 0, 0);
 
 		/* Issue SCR just before NameServer GID_FT Query */
 		lpfc_issue_els_scr(vport, SCR_DID, 0);
-- 
1.7.11.7


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 01/14] lpfc: The lpfc driver does not issue RFF_ID and RFT_ID in the correct sequence
  2015-04-20 13:56 [PATCH 01/14] lpfc: The lpfc driver does not issue RFF_ID and RFT_ID in the correct sequence James Smart
@ 2015-04-21  9:58 ` Hannes Reinecke
  2015-04-21 11:23 ` Sebastian Herbszt
  1 sibling, 0 replies; 5+ messages in thread
From: Hannes Reinecke @ 2015-04-21  9:58 UTC (permalink / raw)
  To: James Smart, linux-scsi

On 04/20/2015 03:56 PM, James Smart wrote:
> 
> The lpfc driver does not issue RFF_ID and RFT_ID in the correct sequence
> 
> Signed-off-by: Dick Kennedy <dick.kennedy@emulex.com>
> Signed-off-by: James Smart <james.smart@emulex.com>
> ---
>  drivers/scsi/lpfc/lpfc_hbadisc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/scsi/lpfc/lpfc_hbadisc.c b/drivers/scsi/lpfc/lpfc_hbadisc.c
> index 2500f15..f2db89f 100644
> --- a/drivers/scsi/lpfc/lpfc_hbadisc.c
> +++ b/drivers/scsi/lpfc/lpfc_hbadisc.c
> @@ -3868,11 +3868,11 @@ out:
>  
>  	if (vport->port_state < LPFC_VPORT_READY) {
>  		/* Link up discovery requires Fabric registration. */
> -		lpfc_ns_cmd(vport, SLI_CTNS_RFF_ID, 0, 0); /* Do this first! */
>  		lpfc_ns_cmd(vport, SLI_CTNS_RNN_ID, 0, 0);
>  		lpfc_ns_cmd(vport, SLI_CTNS_RSNN_NN, 0, 0);
>  		lpfc_ns_cmd(vport, SLI_CTNS_RSPN_ID, 0, 0);
>  		lpfc_ns_cmd(vport, SLI_CTNS_RFT_ID, 0, 0);
> +		lpfc_ns_cmd(vport, SLI_CTNS_RFF_ID, 0, 0);
>  
>  		/* Issue SCR just before NameServer GID_FT Query */
>  		lpfc_issue_els_scr(vport, SCR_DID, 0);
> 
Hehe.
Someone screwed up with the comment ;-)

Reviewed-by: Hannes Reinecke <hare@suse.de>

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare@suse.de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 01/14] lpfc: The lpfc driver does not issue RFF_ID and RFT_ID in the correct sequence
  2015-04-20 13:56 [PATCH 01/14] lpfc: The lpfc driver does not issue RFF_ID and RFT_ID in the correct sequence James Smart
  2015-04-21  9:58 ` Hannes Reinecke
@ 2015-04-21 11:23 ` Sebastian Herbszt
  2015-05-05 19:32   ` James Smart
  1 sibling, 1 reply; 5+ messages in thread
From: Sebastian Herbszt @ 2015-04-21 11:23 UTC (permalink / raw)
  To: James Smart; +Cc: linux-scsi, Sebastian Herbszt

James Smart wrote:
> 
> The lpfc driver does not issue RFF_ID and RFT_ID in the correct sequence
> 
> Signed-off-by: Dick Kennedy <dick.kennedy@emulex.com>
> Signed-off-by: James Smart <james.smart@emulex.com>
> ---
>  drivers/scsi/lpfc/lpfc_hbadisc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/scsi/lpfc/lpfc_hbadisc.c b/drivers/scsi/lpfc/lpfc_hbadisc.c
> index 2500f15..f2db89f 100644
> --- a/drivers/scsi/lpfc/lpfc_hbadisc.c
> +++ b/drivers/scsi/lpfc/lpfc_hbadisc.c
> @@ -3868,11 +3868,11 @@ out:
>  
>  	if (vport->port_state < LPFC_VPORT_READY) {
>  		/* Link up discovery requires Fabric registration. */
> -		lpfc_ns_cmd(vport, SLI_CTNS_RFF_ID, 0, 0); /* Do this first! */
>  		lpfc_ns_cmd(vport, SLI_CTNS_RNN_ID, 0, 0);
>  		lpfc_ns_cmd(vport, SLI_CTNS_RSNN_NN, 0, 0);
>  		lpfc_ns_cmd(vport, SLI_CTNS_RSPN_ID, 0, 0);
>  		lpfc_ns_cmd(vport, SLI_CTNS_RFT_ID, 0, 0);
> +		lpfc_ns_cmd(vport, SLI_CTNS_RFF_ID, 0, 0);
>  
>  		/* Issue SCR just before NameServer GID_FT Query */
>  		lpfc_issue_els_scr(vport, SCR_DID, 0);

Can you please elaborate on the correct command order?
SLI_CTNS_RFF_ID was added last in 2fb9bd8 and moved to the top in
92d7f7b with the comment "Do this first!". Now it's moved back.

The libfc code suggests this is correct because it uses the same order.
qla2xxx on the other hand uses RFT_ID, RFF_ID, RNN_ID, RSNN_NN, but in
any case RFF_ID follows RFT_ID.

Sebastian

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 01/14] lpfc: The lpfc driver does not issue RFF_ID and RFT_ID in the correct sequence
  2015-04-21 11:23 ` Sebastian Herbszt
@ 2015-05-05 19:32   ` James Smart
  2015-05-05 22:10     ` Sebastian Herbszt
  0 siblings, 1 reply; 5+ messages in thread
From: James Smart @ 2015-05-05 19:32 UTC (permalink / raw)
  To: Sebastian Herbszt; +Cc: linux-scsi


On 4/21/2015 7:23 AM, Sebastian Herbszt wrote:
> James Smart wrote:
>> The lpfc driver does not issue RFF_ID and RFT_ID in the correct sequence
>>
>> Signed-off-by: Dick Kennedy <dick.kennedy@emulex.com>
>> Signed-off-by: James Smart <james.smart@emulex.com>
>> ---
>>   drivers/scsi/lpfc/lpfc_hbadisc.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/scsi/lpfc/lpfc_hbadisc.c b/drivers/scsi/lpfc/lpfc_hbadisc.c
>> index 2500f15..f2db89f 100644
>> --- a/drivers/scsi/lpfc/lpfc_hbadisc.c
>> +++ b/drivers/scsi/lpfc/lpfc_hbadisc.c
>> @@ -3868,11 +3868,11 @@ out:
>>   
>>   	if (vport->port_state < LPFC_VPORT_READY) {
>>   		/* Link up discovery requires Fabric registration. */
>> -		lpfc_ns_cmd(vport, SLI_CTNS_RFF_ID, 0, 0); /* Do this first! */
>>   		lpfc_ns_cmd(vport, SLI_CTNS_RNN_ID, 0, 0);
>>   		lpfc_ns_cmd(vport, SLI_CTNS_RSNN_NN, 0, 0);
>>   		lpfc_ns_cmd(vport, SLI_CTNS_RSPN_ID, 0, 0);
>>   		lpfc_ns_cmd(vport, SLI_CTNS_RFT_ID, 0, 0);
>> +		lpfc_ns_cmd(vport, SLI_CTNS_RFF_ID, 0, 0);
>>   
>>   		/* Issue SCR just before NameServer GID_FT Query */
>>   		lpfc_issue_els_scr(vport, SCR_DID, 0);
> Can you please elaborate on the correct command order?
> SLI_CTNS_RFF_ID was added last in 2fb9bd8 and moved to the top in
> 92d7f7b with the comment "Do this first!". Now it's moved back.
>
> The libfc code suggests this is correct because it uses the same order.
> qla2xxx on the other hand uses RFT_ID, RFF_ID, RNN_ID, RSNN_NN, but in
> any case RFF_ID follows RFT_ID.
>
> Sebastian

The order (it's a shall, but hard to dictate after the fact) is given in 
FC-SCM - kind of.  SCM indicates what shall be implemented, lists it as 
(a), (b), (c), but actually doesn't say it has to be in that order.  The 
only hard requirement, called out in FCP-4, is that you must register 
your FC-4 Type (via RFT_ID) before registering FC-4 Type Features (via 
RFF_ID), which makes sense. We obviously violated this above and there 
were some switches (or newer fw in them) that enforced it.  The other 
rule of thumbs are: register your data with the switch first, then 
register for SCRs, then do queries about the fabric, with the SCRs 
telling you of changes post the queries.

-- james s



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 01/14] lpfc: The lpfc driver does not issue RFF_ID and RFT_ID in the correct sequence
  2015-05-05 19:32   ` James Smart
@ 2015-05-05 22:10     ` Sebastian Herbszt
  0 siblings, 0 replies; 5+ messages in thread
From: Sebastian Herbszt @ 2015-05-05 22:10 UTC (permalink / raw)
  To: james.smart; +Cc: linux-scsi

James Smart wrote:
> 
> On 4/21/2015 7:23 AM, Sebastian Herbszt wrote:
> > James Smart wrote:
> >> The lpfc driver does not issue RFF_ID and RFT_ID in the correct sequence
> >>
> >> Signed-off-by: Dick Kennedy <dick.kennedy@emulex.com>
> >> Signed-off-by: James Smart <james.smart@emulex.com>
> >> ---
> >>   drivers/scsi/lpfc/lpfc_hbadisc.c | 2 +-
> >>   1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/scsi/lpfc/lpfc_hbadisc.c b/drivers/scsi/lpfc/lpfc_hbadisc.c
> >> index 2500f15..f2db89f 100644
> >> --- a/drivers/scsi/lpfc/lpfc_hbadisc.c
> >> +++ b/drivers/scsi/lpfc/lpfc_hbadisc.c
> >> @@ -3868,11 +3868,11 @@ out:
> >>   
> >>   	if (vport->port_state < LPFC_VPORT_READY) {
> >>   		/* Link up discovery requires Fabric registration. */
> >> -		lpfc_ns_cmd(vport, SLI_CTNS_RFF_ID, 0, 0); /* Do this first! */
> >>   		lpfc_ns_cmd(vport, SLI_CTNS_RNN_ID, 0, 0);
> >>   		lpfc_ns_cmd(vport, SLI_CTNS_RSNN_NN, 0, 0);
> >>   		lpfc_ns_cmd(vport, SLI_CTNS_RSPN_ID, 0, 0);
> >>   		lpfc_ns_cmd(vport, SLI_CTNS_RFT_ID, 0, 0);
> >> +		lpfc_ns_cmd(vport, SLI_CTNS_RFF_ID, 0, 0);
> >>   
> >>   		/* Issue SCR just before NameServer GID_FT Query */
> >>   		lpfc_issue_els_scr(vport, SCR_DID, 0);
> > Can you please elaborate on the correct command order?
> > SLI_CTNS_RFF_ID was added last in 2fb9bd8 and moved to the top in
> > 92d7f7b with the comment "Do this first!". Now it's moved back.
> >
> > The libfc code suggests this is correct because it uses the same order.
> > qla2xxx on the other hand uses RFT_ID, RFF_ID, RNN_ID, RSNN_NN, but in
> > any case RFF_ID follows RFT_ID.
> >
> > Sebastian
> 
> The order (it's a shall, but hard to dictate after the fact) is given in 
> FC-SCM - kind of.  SCM indicates what shall be implemented, lists it as 
> (a), (b), (c), but actually doesn't say it has to be in that order.  The 
> only hard requirement, called out in FCP-4, is that you must register 
> your FC-4 Type (via RFT_ID) before registering FC-4 Type Features (via 
> RFF_ID), which makes sense. We obviously violated this above and there 
> were some switches (or newer fw in them) that enforced it.  The other 
> rule of thumbs are: register your data with the switch first, then 
> register for SCRs, then do queries about the fabric, with the SCRs 
> telling you of changes post the queries.
> 
> -- james s
> 

Reviewed-by: Sebastian Herbszt <herbszt@gmx.de>

Sebastian 

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-05-05 22:10 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-20 13:56 [PATCH 01/14] lpfc: The lpfc driver does not issue RFF_ID and RFT_ID in the correct sequence James Smart
2015-04-21  9:58 ` Hannes Reinecke
2015-04-21 11:23 ` Sebastian Herbszt
2015-05-05 19:32   ` James Smart
2015-05-05 22:10     ` Sebastian Herbszt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox