• Andrew Vasquez's avatar
    [SCSI] qla2xxx: Correct synchronization of software/firmware fcport states. · 6390d1f3
    Andrew Vasquez authored
    Greg Wettstein (greg@enjellic.com) noted:
    
    	http://article.gmane.org/gmane.linux.scsi/43409
    
    on a reboot of a previously recognized SCST target, the initiator
    driver would be unable to re-recognize the device as a target.
    It turns out that prior to the SCST software reloading and
    returning it's "target-capable" abilities in the PRLI payload,
    the HBA would be re-initialized as an initiator-only type port.
    Since initiators typically classify themselves as an FCP-2
    capable device, both software and firmware do not perform an
    explicit logout during port-loss.  Unfortunately, as can be seen
    by the failure case, when the port (now target-capable) returns,
    firmware performs an ADISC without a follow-on PRLI, leaving
    stale 'initiator-only' data in the firmware's port database.
    
    Correct the discrepancy by performing the explicit logout during
    the transport's request to terminate-rport-io, thus synchronizing
    port states and ensuring a follow-on PRLI is performed.
    Reported-by: default avatarGreg Wettstein <greg@enjellic.com>
    Signed-off-by: default avatarAndrew Vasquez <andrew.vasquez@qlogic.com>
    Cc: Stable Tree <stable@kernel.org>
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
    6390d1f3
qla_attr.c 34 KB