aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/gcx/gccore/gcmain.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/misc/gcx/gccore/gcmain.c')
-rw-r--r--drivers/misc/gcx/gccore/gcmain.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/misc/gcx/gccore/gcmain.c b/drivers/misc/gcx/gccore/gcmain.c
index 03c01eb..6c7f0db 100644
--- a/drivers/misc/gcx/gccore/gcmain.c
+++ b/drivers/misc/gcx/gccore/gcmain.c
@@ -515,8 +515,8 @@ void gc_commit(struct gccommit *gccommit, bool fromuser)
gccorecontext->gcpipe = gccommit->exitpipe;
/* Go through all buffers one at a time. */
- gcbuffer = gccommit->buffer;
- while (gcbuffer != NULL) {
+ list_for_each(head, &gccommit->buffer) {
+ gcbuffer = list_entry(head, struct gcbuffer, link);
GCDBG(GCZONE_COMMIT, "gcbuffer = 0x%08X\n",
(unsigned int) gcbuffer);
@@ -552,12 +552,9 @@ void gc_commit(struct gccommit *gccommit, bool fromuser)
}
/* Process fixups. */
- gccommit->gcerror = gcmmu_fixup(gcbuffer->fixuphead, logical);
+ gccommit->gcerror = gcmmu_fixup(&gcbuffer->fixup, logical);
if (gccommit->gcerror != GCERR_NONE)
goto exit;
-
- /* Get the next buffer. */
- gcbuffer = gcbuffer->next;
}
/* Add the callback. */