]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/misc/sgi-gru/grutlbpurge.c
GRU Driver V3: fixes to resolve code review comments
[linux-2.6-omap-h63xx.git] / drivers / misc / sgi-gru / grutlbpurge.c
index bb6b0e64e101f2b360d8b3463d9813f3e6901f27..bcfd5425e2e6416ec1b72397c61ea890a7b3eed6 100644 (file)
@@ -242,7 +242,9 @@ static void gru_invalidate_range_end(struct mmu_notifier *mn,
        struct gru_mm_struct *gms = container_of(mn, struct gru_mm_struct,
                                                 ms_notifier);
 
-       atomic_dec(&gms->ms_range_active);
+       /* ..._and_test() provides needed barrier */
+       (void)atomic_dec_and_test(&gms->ms_range_active);
+
        wake_up_all(&gms->ms_wait_queue);
        gru_dbg(grudev, "gms %p, start 0x%lx, end 0x%lx\n", gms, start, end);
 }