From: Markus Elfring <elfr...@users.sourceforge.net>
Date: Wed, 21 Sep 2016 22:33:54 +0200

Move the assignments for three data structure members to the end
so that they will only be performed if the desired resource allocations
succeeded by this function.

Signed-off-by: Markus Elfring <elfring at users.sourceforge.net>
---
 drivers/gpu/drm/qxl/qxl_kms.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/qxl/qxl_kms.c b/drivers/gpu/drm/qxl/qxl_kms.c
index 76852f1..76780c2 100644
--- a/drivers/gpu/drm/qxl/qxl_kms.c
+++ b/drivers/gpu/drm/qxl/qxl_kms.c
@@ -212,10 +212,6 @@ static int qxl_device_init(struct qxl_device *qdev,
        /* TODO - slot initialization should happen on reset. where is our
         * reset handler? */
        qdev->n_mem_slots = qdev->rom->slots_end;
-       qdev->slot_gen_bits = qdev->rom->slot_gen_bits;
-       qdev->slot_id_bits = qdev->rom->slot_id_bits;
-       qdev->va_slot_mask =
-               (~(uint64_t)0) >> (qdev->slot_id_bits + qdev->slot_gen_bits);
        qdev->mem_slots = kmalloc_array(qdev->n_mem_slots,
                                        sizeof(*qdev->mem_slots),
                                        GFP_KERNEL);
@@ -260,7 +256,10 @@ static int qxl_device_init(struct qxl_device *qdev,


        INIT_WORK(&qdev->gc_work, qxl_gc_work);
-
+       qdev->slot_gen_bits = qdev->rom->slot_gen_bits;
+       qdev->slot_id_bits = qdev->rom->slot_id_bits;
+       qdev->va_slot_mask =
+               (~(uint64_t)0) >> (qdev->slot_id_bits + qdev->slot_gen_bits);
        return 0;
 }

-- 
2.10.0

Reply via email to