Re: [PATCH net-next v6 02/13] ax88179_178a: Split driver into library and device specific code
Birger Koblitz <mail-+5ewKuAgbOWcE/[email protected]>
| Newsgroups | gmane.linux.usb.general,gmane.linux.kernel,gmane.linux.network |
|---|---|
| Message-ID | <[email protected]> |
On 09/08/2026 02:57, Jianhui Xu wrote:
> Hi Birger,
>
> I noticed what looks like a typo in the newly added `ax88179_read_cmd()`:
>
> ```c
> if (size == 2) {
> u16 buf = 0;
>
> ret = __ax88179_read_cmd(dev, cmd, value, index, size, &buf);
> le16_to_cpus(&buf);
> *((u16 *)data) = buf;
> } else if (size == 2) {
> u32 buf = 0;
>
> ret = __ax88179_read_cmd(dev, cmd, value, index, size, &buf);
> le32_to_cpus(&buf);
> *((u32 *)data) = buf;
> }
> ```
>
> The second condition should presumably be:
>
> ```c
> } else if (size == 4) {
> ```
>
> The original implementation before this code was moved to `ax88179_lib.c`
> also used `else if (4 == size)`.
>
> As written, the `u32` branch is unreachable, so 4-byte reads fall through
> to `__ax88179_read_cmd()` without the `le32_to_cpus()` conversion.
Thanks Jianhui for reporting this. Indeed, this was a typo introduced when
updating the coding style for the original driver function that was copied to the
new library file. checkpatch complained about the old style.
Will fix to read (size == 4) in v7.
Birger