On Tue 10 Apr 15:25 PDT 2018, Alex Elder wrote: > If there is at least one entry in the partition table, but no global > entry, the qcom_smem_set_global_partition() should return an error > just like it does if there are no partition table entries. > > It turns out the function still returns an error in this case, but > it waits to do so until it has mistakenly treated the last entry in > the table as if it were the global entry found. > > Fix the function to return immediately if no global entry is found > in the table. > > Signed-off-by: Alex Elder <elder@xxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx> Regards, Bjorn > --- > drivers/soc/qcom/smem.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/drivers/soc/qcom/smem.c b/drivers/soc/qcom/smem.c > index 0ed263055988..6e42599b70d4 100644 > --- a/drivers/soc/qcom/smem.c > +++ b/drivers/soc/qcom/smem.c > @@ -698,9 +698,10 @@ static u32 qcom_smem_get_item_count(struct qcom_smem *smem) > static int qcom_smem_set_global_partition(struct qcom_smem *smem) > { > struct smem_partition_header *header; > - struct smem_ptable_entry *entry = NULL; > + struct smem_ptable_entry *entry; > struct smem_ptable *ptable; > u32 host0, host1, size; > + bool found = false; > int i; > > ptable = qcom_smem_get_ptable(smem); > @@ -712,11 +713,13 @@ static int qcom_smem_set_global_partition(struct qcom_smem *smem) > host0 = le16_to_cpu(entry->host0); > host1 = le16_to_cpu(entry->host1); > > - if (host0 == SMEM_GLOBAL_HOST && host0 == host1) > + if (host0 == SMEM_GLOBAL_HOST && host0 == host1) { > + found = true; > break; > + } > } > > - if (!entry) { > + if (!found) { > dev_err(smem->dev, "Missing entry for global partition\n"); > return -EINVAL; > } > -- > 2.14.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html