Merge remote-tracking branch 'lsk/v3.10/topic/arm64-dma' into linux-linaro-lsk
[firefly-linux-kernel-4.4.55.git] / drivers / s390 / char / sclp_cmd.c
index cd798386b622173172906cc021306d9cc64941bf..bf07c3a188d4c0f5b694b51d84f053ab3b526838 100644 (file)
@@ -345,7 +345,6 @@ struct memory_increment {
        struct list_head list;
        u16 rn;
        int standby;
-       int usecount;
 };
 
 struct assign_storage_sccb {
@@ -463,21 +462,10 @@ static int sclp_mem_change_state(unsigned long start, unsigned long size,
                        break;
                if (start > istart + rzm - 1)
                        continue;
-               if (online) {
-                       if (incr->usecount++)
-                               continue;
-                       /*
-                        * Don't break the loop if one assign fails. Loop may
-                        * be walked again on CANCEL and we can't save
-                        * information if state changed before or not.
-                        * So continue and increase usecount for all increments.
-                        */
+               if (online)
                        rc |= sclp_assign_storage(incr->rn);
-               } else {
-                       if (--incr->usecount)
-                               continue;
+               else
                        sclp_unassign_storage(incr->rn);
-               }
        }
        return rc ? -EIO : 0;
 }
@@ -572,8 +560,6 @@ static void __init insert_increment(u16 rn, int standby, int assigned)
                return;
        new_incr->rn = rn;
        new_incr->standby = standby;
-       if (!standby)
-               new_incr->usecount = 1;
        last_rn = 0;
        prev = &sclp_mem_list;
        list_for_each_entry(incr, &sclp_mem_list, list) {