[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 ca862b1..90a217f 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))