Re: [PATCH v5 04/15] soundwire: Add MIPI DisCo property helpers

From: Vinod Koul
Date: Mon Dec 11 2017 - 11:56:45 EST


On Mon, Dec 11, 2017 at 05:10:17PM +0100, Takashi Iwai wrote:
> On Wed, 06 Dec 2017 16:47:00 +0100,
> Vinod Koul wrote:
> >
> > +static int sdw_slave_read_dpn(struct sdw_slave *slave,
> > + struct sdw_dpn_prop *dpn, int count, int ports, char *type)
> > +{
> ....
> > + nval = fwnode_property_read_u32_array(node,
> > + "mipi-sdw-port-wordlength-configs", NULL, 0);
> > + if (nval > 0)
> > + dpn[i].num_words = nval;
> > +
> > + if (dpn[i].num_words) {
> > + dpn[i].words = devm_kcalloc(&slave->dev, nval,
> > + sizeof(*dpn[i].words), GFP_KERNEL);
>
> Inconsistent checks here: nval or dpn[i].num_words.

Ah yes, we should not do allocation for less that zero case and use it
properly, will fix this and others

>
> > + /* TODO: Read audio mode */
> > +
> > + i++;
> > + }
>
> Don't we use count argument for a sanity check?

Not really as that iterator runs on each bit:

for_each_set_bit(bit, &addr, 32) {

so it will not go on endlessly and can max out when all the bits being set
and stop.

--
~Vinod