diff -ruN linux-2.6.29.1-orig/drivers/firmware/iscsi_ibft.c linux-2.6.29.1/drivers/firmware/iscsi_ibft.c
--- linux-2.6.29.1-orig/drivers/firmware/iscsi_ibft.c	2009-04-11 18:25:40.000000000 +0530
+++ linux-2.6.29.1/drivers/firmware/iscsi_ibft.c	2009-04-11 18:33:42.000000000 +0530
@@ -754,11 +754,11 @@
 		rc = 1;
 		break;
 	case ibft_eth_ip_addr:
-		if (!memcmp(nic->dhcp, nulls, sizeof(nic->dhcp)))
+		if (memcmp(nic->ip_addr, nulls, sizeof(nic->ip_addr)))
 			rc = 1;
 		break;
 	case ibft_eth_subnet_mask:
-		if (!memcmp(nic->dhcp, nulls, sizeof(nic->dhcp)))
+		if (nic->subnet_mask_prefix)
 			rc = 1;
 		break;
 	case ibft_eth_origin: