aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/ps3fb.c
diff options
context:
space:
mode:
authorGeert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>2007-05-02 08:48:32 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-04 20:59:08 -0400
commiteca28743b74736456bd75e0dabeb7d2df09fc03e (patch)
treec7e24af40e3bda568a43bf119cdaad80f539594c /drivers/video/ps3fb.c
parent1c0c8461191d6d74926397abe2aa5f7cc9fd5a67 (diff)
ps3fb: atomic fixes
ps3fb: Use atomic_dec_if_positive() instead of bogus atomic_read()/atomic_dec() combinations Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/video/ps3fb.c')
-rw-r--r--drivers/video/ps3fb.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/drivers/video/ps3fb.c b/drivers/video/ps3fb.c
index 815b3cc78fd3..dd6dd6e222d7 100644
--- a/drivers/video/ps3fb.c
+++ b/drivers/video/ps3fb.c
@@ -680,13 +680,10 @@ EXPORT_SYMBOL_GPL(ps3fb_wait_for_vsync);
680 680
681void ps3fb_flip_ctl(int on) 681void ps3fb_flip_ctl(int on)
682{ 682{
683 if (on) { 683 if (on)
684 if (atomic_read(&ps3fb.ext_flip) > 0) { 684 atomic_dec_if_positive(&ps3fb.ext_flip);
685 atomic_dec(&ps3fb.ext_flip); 685 else
686 }
687 } else {
688 atomic_inc(&ps3fb.ext_flip); 686 atomic_inc(&ps3fb.ext_flip);
689 }
690} 687}
691 688
692EXPORT_SYMBOL_GPL(ps3fb_flip_ctl); 689EXPORT_SYMBOL_GPL(ps3fb_flip_ctl);
@@ -786,8 +783,7 @@ static int ps3fb_ioctl(struct fb_info *info, unsigned int cmd,
786 783
787 case PS3FB_IOCTL_OFF: 784 case PS3FB_IOCTL_OFF:
788 DPRINTK("PS3FB_IOCTL_OFF:\n"); 785 DPRINTK("PS3FB_IOCTL_OFF:\n");
789 if (atomic_read(&ps3fb.ext_flip) > 0) 786 atomic_dec_if_positive(&ps3fb.ext_flip);
790 atomic_dec(&ps3fb.ext_flip);
791 retval = 0; 787 retval = 0;
792 break; 788 break;
793 789