]> git.baikalelectronics.ru Git - kernel.git/commit
wifi: libertas: use variable-size data in assoc req/resp cmd
authorJohannes Berg <johannes.berg@intel.com>
Mon, 23 May 2022 16:02:01 +0000 (18:02 +0200)
committerKalle Valo <kvalo@kernel.org>
Mon, 30 May 2022 09:13:25 +0000 (12:13 +0300)
commit977d9e6aa5a58786dfeaab2c47f620ecc25feb39
tree2dfd288053fd645d04082ac82ded2f5e70171f0f
parentda22c11218867f8797ef61a715a128099e0d72d0
wifi: libertas: use variable-size data in assoc req/resp cmd

The firmware has a 512 limit here, but we use less, so gcc
starts complaining about it:

drivers/net/wireless/marvell/libertas/cfg.c:1198:63: warning: array subscript ‘struct cmd_ds_802_11_associate_response[0]’ is partly outside array bounds of ‘unsigned char[203]’ [-Warray-bounds]
 1198 |                       "aid 0x%04x\n", status, le16_to_cpu(resp->statuscode),
      |                                                               ^~

Since we size the command and response buffer per our needs
and not per the firmware maximum, change to a variable size
data array and put the 512 only into a comment.

In the end, that's actually what the code always wanted, and
it simplifies the code that used to subtract the fixed size
buffer size in two places.

Reported-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Acked-by: Kalle Valo <kvalo@kernel.org>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220523180200.115fa27fbece.Ie66d874b047e7afad63900aa2df70f031711147e@changeid
drivers/net/wireless/marvell/libertas/cfg.c
drivers/net/wireless/marvell/libertas/host.h