]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - mm/swapfile.c
HID: sensors: fix up for mfd_add_devices() API change
[karo-tx-linux.git] / mm / swapfile.c
index 7307fc928d7b2d2e07bc4ee91ca8e4f7875b9bd0..14e254c768fc5090e9c2276085b3c6f96c6255f6 100644 (file)
@@ -549,7 +549,6 @@ static unsigned char swap_entry_free(struct swap_info_struct *p,
 
        /* free if no reference */
        if (!usage) {
-               struct gendisk *disk = p->bdev->bd_disk;
                if (offset < p->lowest_bit)
                        p->lowest_bit = offset;
                if (offset > p->highest_bit)
@@ -560,9 +559,12 @@ static unsigned char swap_entry_free(struct swap_info_struct *p,
                nr_swap_pages++;
                p->inuse_pages--;
                frontswap_invalidate_page(p->type, offset);
-               if ((p->flags & SWP_BLKDEV) &&
-                               disk->fops->swap_slot_free_notify)
-                       disk->fops->swap_slot_free_notify(p->bdev, offset);
+               if (p->flags & SWP_BLKDEV) {
+                       struct gendisk *disk = p->bdev->bd_disk;
+                       if (disk->fops->swap_slot_free_notify)
+                               disk->fops->swap_slot_free_notify(p->bdev,
+                                                                 offset);
+               }
        }
 
        return usage;
@@ -833,8 +835,7 @@ static int unuse_pte(struct vm_area_struct *vma, pmd_t *pmd,
 
        pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, &ptl);
        if (unlikely(!pte_same(*pte, swp_entry_to_pte(entry)))) {
-               if (ret > 0)
-                       mem_cgroup_cancel_charge_swapin(memcg);
+               mem_cgroup_cancel_charge_swapin(memcg);
                ret = 0;
                goto out;
        }