On Fri, 2019-07-12 at 01:58 +0000, [email protected] wrote:
>
> + buf[0] = (u8)id;
> + buf[1] = (u8)(id >> 8);
> + buf[2] = 2;
> + buf[3] = 0;
> + buf[4] = (u8)val16;
> + buf[5] = (u8)(val16 >> 8);
There are helpers for that, put_le16_unaligned() or so?
> + if (w->id == wid) {
> + w->val = get_unaligned_le32(&info[4]);
You use the opposite one here :-)
> + /*
> + * The valid types of response messages are
> + * 'R' (Response),
> + * 'I' (Information), and
> + * 'N' (Network Information)
> + */
> +
> + switch (msg_type) {
[...]
> + case 'S':
Hmm. :-)
> + wl->cfg.str_vals = str_vals;
> + /* store the string cfg parameters */
> + wl->cfg.s[i].id = WID_FIRMWARE_VERSION;
> + wl->cfg.s[i].str = str_vals->firmware_version;
> + i++;
> + wl->cfg.s[i].id = WID_MAC_ADDR;
> + wl->cfg.s[i].str = str_vals->mac_address;
> + i++;
> + wl->cfg.s[i].id = WID_ASSOC_RES_INFO;
> + wl->cfg.s[i].str = str_vals->assoc_rsp;
> + i++;
> + wl->cfg.s[i].id = WID_NIL;
> + wl->cfg.s[i].str = NULL;
I really don't understand this style. Why not give it a proper struct
and just say
wl->cfg.assoc_rsp = str_vals->assoc_rsp;
etc?
johannes