[SCSI] bfa: fix faulty handling of events in lps sm
authorVijay Mohan Guvva <vmohan@Brocade.com>
Mon, 13 May 2013 09:49:44 +0000 (03:49 -0600)
committerJames Bottomley <JBottomley@Parallels.com>
Tue, 4 Jun 2013 18:16:25 +0000 (11:16 -0700)
commit111ecbe426241bdc89c33e9acd08eb15744ce031
tree4f4add6a338b5bdb1a1468c1914afa877e955c3b
parent0816c9251a7180383bb7811e1a1545f7b78e5374
[SCSI] bfa: fix faulty handling of events in lps sm

When a switch disable/enable or a reboot is done, the HBA port gets an
offline and a subsequent online notification. When the port comes up a
link up notification is sent to bfa from the firmware. The bfa then send
an FLOGI to the firmware which is sent out on the wire.
The switch port meanwhile goes offline (presumably for diagnostics)
which causes the switch not to respond to the FLOGI.
The link down notification is sent to the HBA driver. However owing to a
bug in the lps state machine handling the lps state machine does not
move to sm_init state (it remains in sm_login state and send a login
complete message to fcs). This results in a zero PID assignment as the
login is not really complete.

This fix is to correctly handle the events in lps state machine.

Signed-off-by: Vijaya Mohan Guvva <vmohan@brocade.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/bfa/bfa_svc.c