i82975x_edac: Test nr_pages earlier to save a few CPU cycles
[linux-2.6-microblaze.git] / drivers / edac / i82975x_edac.c
index 9c346d7..433332c 100644 (file)
@@ -410,6 +410,9 @@ static void i82975x_init_csrows(struct mem_ctl_info *mci,
                        cumul_size);
 
                nr_pages = cumul_size - last_cumul_size;
+               if (!nr_pages)
+                       continue;
+
                /*
                 * Initialise dram labels
                 * index values:
@@ -420,9 +423,6 @@ static void i82975x_init_csrows(struct mem_ctl_info *mci,
                for (chan = 0; chan < csrow->nr_channels; chan++) {
                        dimm = mci->csrows[index].channels[chan].dimm;
 
-                       if (!nr_pages)
-                               continue;
-
                        dimm->nr_pages = nr_pages / csrow->nr_channels;
                        strncpy(csrow->channels[chan].dimm->label,
                                        labels[(index >> 1) + (chan * 2)],
@@ -433,9 +433,6 @@ static void i82975x_init_csrows(struct mem_ctl_info *mci,
                        dimm->edac_mode = EDAC_SECDED; /* only supported */
                }
 
-               if (!nr_pages)
-                       continue;       /* not populated */
-
                csrow->first_page = last_cumul_size;
                csrow->last_page = cumul_size - 1;
                last_cumul_size = cumul_size;