drivers: soc: qcom: rimps_memlat: add NULL check for SCMI handle

SCMI handle will remain NULL in case of SCMI failures during
initialization.

Update all store functions to check for NULL before accessing
vendor ops structure.

Change-Id: Ied56f62785579078fb06fb526e29aaef9d45e00d
Signed-off-by: Santosh Mardi <gsantosh@codeaurora.org>
This commit is contained in:
Santosh Mardi 2021-04-26 19:22:12 +05:30 committed by Gerrit - the friendly Code Review server
parent 55572f84cc
commit e5c82d7b7c

View File

@ -207,7 +207,12 @@ static ssize_t store_##name(struct kobject *kobj, \
unsigned int val; \
struct memlat_mon *mon = to_memlat_mon(kobj); \
struct memlat_cpu_grp *cpu_grp = mon->cpu_grp; \
struct scmi_memlat_vendor_ops *ops = cpu_grp->handle->memlat_ops; \
struct scmi_memlat_vendor_ops *ops = NULL; \
if (cpu_grp && cpu_grp->handle && \
cpu_grp->handle->memlat_ops) \
ops = cpu_grp->handle->memlat_ops; \
else \
return -ENODEV; \
ret = kstrtouint(buf, 10, &val); \
if (ret < 0) \
return ret; \
@ -248,11 +253,14 @@ static ssize_t store_min_freq(struct kobject *kobj,
unsigned int val;
struct memlat_mon *mon = to_memlat_mon(kobj);
struct memlat_cpu_grp *cpu_grp = mon->cpu_grp;
struct scmi_memlat_vendor_ops *ops = cpu_grp->handle->memlat_ops;
struct scmi_memlat_vendor_ops *ops = NULL;
unsigned int min_freq;
unsigned int max_freq;
if (!ops)
if (cpu_grp && cpu_grp->handle &&
cpu_grp->handle->memlat_ops)
ops = cpu_grp->handle->memlat_ops;
else
return -ENODEV;
if (mon->mon_type == L3_MEMLAT) {
@ -290,11 +298,14 @@ static ssize_t store_max_freq(struct kobject *kobj,
unsigned int val;
struct memlat_mon *mon = to_memlat_mon(kobj);
struct memlat_cpu_grp *cpu_grp = mon->cpu_grp;
struct scmi_memlat_vendor_ops *ops = cpu_grp->handle->memlat_ops;
struct scmi_memlat_vendor_ops *ops = NULL;
unsigned int min_freq;
unsigned int max_freq;
if (!ops)
if (cpu_grp && cpu_grp->handle &&
cpu_grp->handle->memlat_ops)
ops = cpu_grp->handle->memlat_ops;
else
return -ENODEV;
if (mon->mon_type == L3_MEMLAT) {