]> err.no Git - linux-2.6/blobdiff - drivers/char/agp/amd-k7-agp.c
Pull thinkpad-2.6.24 into release branch
[linux-2.6] / drivers / char / agp / amd-k7-agp.c
index f60bca70d1fba99f91cb6573b93d56bd3bea120c..1405a42585e13eb29dcb9ae3bce3d99836b9d5fb 100644 (file)
@@ -100,21 +100,16 @@ static int amd_create_gatt_pages(int nr_tables)
 
        for (i = 0; i < nr_tables; i++) {
                entry = kzalloc(sizeof(struct amd_page_map), GFP_KERNEL);
+               tables[i] = entry;
                if (entry == NULL) {
-                       while (i > 0) {
-                               kfree(tables[i-1]);
-                               i--;
-                       }
-                       kfree(tables);
                        retval = -ENOMEM;
                        break;
                }
-               tables[i] = entry;
                retval = amd_create_page_map(entry);
                if (retval != 0)
                        break;
        }
-       amd_irongate_private.num_tables = nr_tables;
+       amd_irongate_private.num_tables = i;
        amd_irongate_private.gatt_pages = tables;
 
        if (retval != 0)