bnx2: Fix bug when saving statistics.

This fixes the problem of dropping the carry when adding 2 32-bit values.
Switch to use array indexing for better readability.

Reported by and fix provided by Patrick Rabau.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index d1e5e5d..3fb110e 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -6555,16 +6555,16 @@
 		u32 hi;
 		u64 lo;
 
-		hi = *(temp_stats + i) + *(hw_stats + i);
-		lo = *(temp_stats + i + 1) + *(hw_stats + i + 1);
+		hi = temp_stats[i] + hw_stats[i];
+		lo = (u64) temp_stats[i + 1] + (u64) hw_stats[i + 1];
 		if (lo > 0xffffffff)
 			hi++;
-		*(temp_stats + i) = hi;
-		*(temp_stats + i + 1) = lo & 0xffffffff;
+		temp_stats[i] = hi;
+		temp_stats[i + 1] = lo & 0xffffffff;
 	}
 
 	for ( ; i < sizeof(struct statistics_block) / 4; i++)
-		*(temp_stats + i) = *(temp_stats + i) + *(hw_stats + i);
+		temp_stats[i] += hw_stats[i];
 }
 
 #define GET_64BIT_NET_STATS64(ctr)				\