diff options
Diffstat (limited to 'drivers/staging/imgtec/pvr_sync.c')
-rw-r--r-- | drivers/staging/imgtec/pvr_sync.c | 6 |
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)) */ |