lkml.org 
[lkml]   [2017]   [Oct]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2 3/5] soc: qcom: smem: Support global partition
On Fri 15 Sep 14:02 PDT 2017, Chris Lew wrote:

>
>
> On 9/15/2017 11:33 AM, Bjorn Andersson wrote:
> > On Thu 14 Sep 14:25 PDT 2017, Chris Lew wrote:
> >
> > [..]
> > > +static struct smem_ptable *qcom_smem_get_ptable(struct qcom_smem *smem)
> > > {
> > > - struct smem_partition_header *header;
> > > - struct smem_ptable_entry *entry;
> > > struct smem_ptable *ptable;
> > > - unsigned remote_host;
> > > - u32 version, host0, host1;
> > > - int i;
> > > + u32 version;
> > > ptable = smem->regions[0].virt_base + smem->regions[0].size - SZ_4K;
> > > if (memcmp(ptable->magic, SMEM_PTABLE_MAGIC, sizeof(ptable->magic)))
> > > - return 0;
> > > + return NULL;
> > > version = le32_to_cpu(ptable->version);
> > > if (version != 1) {
> > > dev_err(smem->dev,
> > > "Unsupported partition header version %d\n", version);
> > > + return ERR_PTR(-EINVAL);
> >
> > In the calling places NULL and -EINVAL are both treated as -EINVAL, so I
> > think it's better to just return NULL here as well as check for !ptable
> > in callers.
> >
> > Regards,
> > Bjorn
> >
>
> qcom_smem_enumerate_partitions allowed the partition table to be optional
> before. I want to keep that behavior for V11 where smem might only have the
> global heap. The probe will continue with a NULL/0 return from
> qcom_get_ptable/qcom_smem_enumerate_partitions.
>

You're right, I missed that detail.

Which allows me to argue that I do not feel that testing with
IS_ERR_OR_NULL() to let a 0 pass through to the caller is not obvious.

I think it's better if you replace the NULL with ERR_PTR(-ENOENT), which
you test and forward in both callers and then for the one caller where
partitions are optional you check if ret < 0 && ret != -ENOENT.

(Alternatively you check for NULL in enumerate_partitions() and return 0
with a nice comment saying that everything is okay)

Regards,
Bjorn

\
 
 \ /
  Last update: 2017-10-05 06:16    [W:0.173 / U:0.076 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site