summaryrefslogtreecommitdiff
path: root/drivers/staging/imgtec/pvr_sync.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/imgtec/pvr_sync.c')
-rw-r--r--drivers/staging/imgtec/pvr_sync.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/staging/imgtec/pvr_sync.c b/drivers/staging/imgtec/pvr_sync.c
index 11d9424092e5..e78af6aebdb0 100644
--- a/drivers/staging/imgtec/pvr_sync.c
+++ b/drivers/staging/imgtec/pvr_sync.c
@@ -98,9 +98,11 @@ static inline int sync_pt_get_status(struct sync_pt *pt)
}
#define for_each_sync_pt(s, f, c) \
- for ((c) = 0, (s) = (struct sync_pt *)(f)->cbs[0].sync_pt; \
+ for ((c) = 0, (s) = (f)->num_fences == 0 ? \
+ NULL : (struct sync_pt *)(f)->cbs[0].sync_pt; \
(c) < (f)->num_fences; \
- (c)++, (s) = (struct sync_pt *)(f)->cbs[c].sync_pt)
+ (c)++, (s) = (c) < (f)->num_fences ? \
+ (struct sync_pt *)(f)->cbs[c].sync_pt : NULL)
#endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0)) */