for (id = 0; id < SITES_MAX; id++) {
                struct thermal_zone_device *tzd;
+               struct qoriq_sensor *sensor;
                int ret;
 
-               qdata->sensor[id] = devm_kzalloc(&pdev->dev,
-                               sizeof(struct qoriq_sensor), GFP_KERNEL);
+               sensor = devm_kzalloc(&pdev->dev,
+                                     sizeof(struct qoriq_sensor),
+                                     GFP_KERNEL);
                if (!qdata->sensor[id])
                        return -ENOMEM;
 
-               qdata->sensor[id]->id = id;
-               qdata->sensor[id]->qdata = qdata;
+               qdata->sensor[id] = sensor;
+
+               sensor->id = id;
+               sensor->qdata = qdata;
 
                tzd = devm_thermal_zone_of_sensor_register(&pdev->dev, id,
-                                                          qdata->sensor[id],
+                                                          sensor,
                                                           &tmu_tz_ops);
                ret = PTR_ERR_OR_ZERO(tzd);
                if (ret) {