[SCSI] qla4xxx: cache new IP address acquired via DHCP
authorPrasanna Mumbai <prasanna.mumbai@qlogic.com>
Fri, 3 Dec 2010 06:12:43 +0000 (22:12 -0800)
committerJames Bottomley <James.Bottomley@suse.de>
Tue, 21 Dec 2010 18:24:41 +0000 (12:24 -0600)
Prior to firmware state change from ACQUIRING to READY, an
0x8029 AEN is received. Added code to check previous state
being ACQUIRING in order to update the ip address in the driver.

Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Signed-off-by: Prasanna Mumbai <prasanna.mumbai@qlogic.com>
Signed-off-by: Ravi Anand <ravi.anand@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/qla4xxx/ql4_isr.c

index ca862b12a8dbccf25e4f7f226583b26613250ef1..90a217ff3a3f742bf46aa8b9aa84a15a02d65dd5 100644 (file)
@@ -554,7 +554,8 @@ static void qla4xxx_isr_decode_mailbox(struct scsi_qla_host * ha,
                        /* mbox_sts[2] = Old ACB state
                         * mbox_sts[3] = new ACB state */
                        if ((mbox_sts[3] == ACB_STATE_VALID) &&
-                           (mbox_sts[2] == ACB_STATE_TENTATIVE))
+                           ((mbox_sts[2] == ACB_STATE_TENTATIVE) ||
+                           (mbox_sts[2] == ACB_STATE_ACQUIRING)))
                                set_bit(DPC_GET_DHCP_IP_ADDR, &ha->dpc_flags);
                        else if ((mbox_sts[3] == ACB_STATE_ACQUIRING) &&
                            (mbox_sts[2] == ACB_STATE_VALID))