linux/drivers/staging
Jérôme Pouiller 868fd970e1 staging: wfx: improve robustness of wfx_get_hw_rate()
Smatch complains:

    data_tx.c:37 wfx_get_hw_rate() warn: constraint '(struct ieee80211_supported_band)->bitrates' overflow 'band->bitrates' 0 <= abs_rl '0-127' user_rl '' required = '(struct ieee80211_supported_band)->n_bitrates'
    23          struct ieee80211_supported_band *band;
    24
    25          if (rate->idx < 0)
    26                  return -1;
    27          if (rate->flags & IEEE80211_TX_RC_MCS) {
    28                  if (rate->idx > 7) {
    29                          WARN(1, "wrong rate->idx value: %d", rate->idx);
    30                          return -1;
    31                  }
    32                  return rate->idx + 14;
    33          }
    34          // WFx only support 2GHz, else band information should be retrieved
    35          // from ieee80211_tx_info
    36          band = wdev->hw->wiphy->bands[NL80211_BAND_2GHZ];
    37          return band->bitrates[rate->idx].hw_value;

Add a simple check to make Smatch happy.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20201009171307.864608-9-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-10-10 12:33:59 +02:00
..
android staging: ion: fix spelling mistake in function name "detatch" -> "detach" 2020-08-18 15:56:27 +02:00
axis-fifo staging: axis-fifo: Fix parenthesis alignment 2020-04-13 08:55:30 +02:00
board
clocking-wizard staging: Replace HTTP links with HTTPS ones 2020-07-20 10:22:47 +02:00
comedi drivers: staging: comedi: fixed duplicate words from checkpatch 2020-08-28 12:19:16 +02:00
emxx_udc staging/emxx_udc: fix indenting issue on a couple of statements 2020-09-22 09:49:32 +02:00
fbtft staging: fbtft: fb_st7789v: make HSD20_IPS numeric and not a string 2020-05-22 10:48:32 +02:00
fieldbus
fsl-dpaa2 staging: dpaa2-switch: add a dpaa2_switch prefix to all functions in ethsw.c 2020-10-10 12:33:41 +02:00
fwserial staging: fwserial: Remove repeated word and 2020-09-13 09:20:12 +02:00
gasket staging: gasket: core: Fix a coding style issue in gasket_core.c 2020-07-15 16:05:14 +02:00
gdm724x staging: gdm724x: Use fallthrough pseudo-keyword 2020-07-28 10:18:52 +02:00
goldfish
greybus staging: greybus: use __force when assigning __u8 value to snd_ctl_elem_type_t 2020-10-05 14:23:55 +02:00
gs_fpgaboot staging: Replace HTTP links with HTTPS ones 2020-07-20 10:22:47 +02:00
hikey9xx staging: hikey9xx: Fix incorrect assignment 2020-09-22 09:51:28 +02:00
iio staging:iio:documentation: Drop most generic docs 2020-09-16 19:12:00 +01:00
kpc2000 staging: kpc2000: kpc_dma: fix spelling mistake "for for" -> "for" 2020-08-28 12:19:15 +02:00
ks7010 staging: ks7010: convert tasklets to use new tasklet_setup() API 2020-09-16 13:12:59 +02:00
media Merge 5.9-rc5 into staging-next 2020-09-14 06:57:52 +02:00
most drivers: most: add character device interface driver 2020-09-07 15:16:26 +02:00
mt7621-dma staging: mt7621-dma: convert tasklets to use new tasklet_setup() API 2020-09-16 13:13:00 +02:00
mt7621-dts staging: mt7621-pci: fix PCIe interrupt mapping 2020-04-13 14:49:18 +02:00
mt7621-pci staging: mt7621-pci: Update driver TODO file 2020-09-13 09:26:18 +02:00
mt7621-pci-phy staging: mt7621-pci-phy: dt: bindings: remove bindings txt file 2020-04-13 14:49:17 +02:00
mt7621-pinctrl staging: mt7621-pinctrl: Use correct pointer type argument for sizeof 2020-04-23 13:36:20 +02:00
netlogic staging: netlogic: clear alignment style issues 2020-08-02 12:47:37 +02:00
nvec Staging: nvec: Removes repeated word typo in comment 2020-10-01 10:55:17 +02:00
octeon Staging/IIO driver patches for 5.9-rc1 2020-08-06 14:36:13 -07:00
octeon-usb drivers: staging: octeon-usb: fixed codestyle check warning 2020-09-13 09:21:15 +02:00
olpc_dcon
pi433 staging: pi433: break long lines 2020-09-04 15:39:07 +02:00
qlge staging: qlge: fix build breakage with dumping enabled 2020-10-05 09:57:39 +02:00
ralink-gdma staging: ralink-gdma: convert tasklets to use new tasklet_setup() API 2020-09-16 13:13:00 +02:00
rtl8188eu staging: rtl8188eu: Fix long lines 2020-10-09 15:10:47 +02:00
rtl8192e Revert "staging: rtl8192e: fix kconfig dependency warning for RTLLIB_CRYPTO_WEP" 2020-09-20 16:00:19 +02:00
rtl8192u staging: rtl8192u: clean up comparsions to NULL 2020-09-22 09:51:12 +02:00
rtl8712 staging: rtl8712: Fix enqueue_reorder_recvframe() 2020-10-01 10:55:17 +02:00
rtl8723bs staging: rtl8723bs: replace _cancel_timer with del_timer_sync 2020-10-05 09:59:31 +02:00
rts5208 staging: rts5208: rtsx_transport.c: Fix lines ending with parentheses 2020-09-13 09:20:31 +02:00
sm750fb Staging: sm750fb: Fix basic coding style issues 2020-08-28 12:19:15 +02:00
unisys staging: unisys: visorhba: remove redundant initialization of variables scsicmd_id and rc 2020-07-23 20:34:34 +02:00
vc04_services staging: vchiq: Fix list_for_each exit tests 2020-10-06 18:58:47 +02:00
vme
vt6655 staging: vt6655: Add spaces around arithmetic operators 2020-09-13 09:20:38 +02:00
vt6656 staging: vt6655: Use fallthrough pseudo-keyword 2020-07-10 13:52:46 +02:00
wfx staging: wfx: improve robustness of wfx_get_hw_rate() 2020-10-10 12:33:59 +02:00
wlan-ng staging: wlan-ng: convert tasklets to use new tasklet_setup() API 2020-09-16 13:13:00 +02:00
Kconfig staging: spmi: hisi-spmi-controller: add it to the building system 2020-08-18 16:15:23 +02:00
Makefile staging: spmi: hisi-spmi-controller: add it to the building system 2020-08-18 16:15:23 +02:00