summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorPrasanna Mumbai <prasanna.mumbai@qlogic.com>2010-12-03 09:12:43 +0300
committerJames Bottomley <James.Bottomley@suse.de>2010-12-21 21:24:41 +0300
commite128271b7bcb9c8955cadbf2e18f8af288979e6b (patch)
tree167c47f2ea50836d1a37e9f79f05a8074151a4f6 /drivers
parent4cd83cbef878b5d0d4c65ac0a20d12a8bf9f551d (diff)
downloadlinux-e128271b7bcb9c8955cadbf2e18f8af288979e6b.tar.xz
[SCSI] qla4xxx: cache new IP address acquired via DHCP
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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/scsi/qla4xxx/ql4_isr.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_isr.c b/drivers/scsi/qla4xxx/ql4_isr.c
index ca862b12a8db..90a217ff3a3f 100644
--- a/drivers/scsi/qla4xxx/ql4_isr.c
+++ b/drivers/scsi/qla4xxx/ql4_isr.c
@@ -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))