On Tue, Mar 16, 2021 at 11:17, Vladimir Oltean <olte...@gmail.com> wrote:
> On Mon, Mar 15, 2021 at 10:13:57PM +0100, Tobias Waldekranz wrote:
>> +static int mv88e6xxx_vtu_get(struct mv88e6xxx_chip *chip, u16 vid,
>> +                         struct mv88e6xxx_vtu_entry *entry)
>>  {
>> +    int err;
>> +
>>      if (!chip->info->ops->vtu_getnext)
>>              return -EOPNOTSUPP;
>>  
>> -    return chip->info->ops->vtu_getnext(chip, entry);
>> +    entry->vid = vid - 1;
>
> Should the vtu_get API not work with vid 0 as well? Shouldn't we
> initialize entry->vid to mv88e6xxx_max_vid(chip) in that case?

Good catch. We never load VID 0 to the VTU today, but this function
should be ready for it, if that ever changes. Fixing in v2.

>> +    entry->valid = false;
>> +
>> +    err = chip->info->ops->vtu_getnext(chip, entry);
>> +
>> +    if (entry->vid != vid)
>> +            entry->valid = false;
>> +
>> +    return err;
>>  }

Reply via email to