* [PATCH v2] staging: rtl8723bs: simplify rtw_spt_band_alloc
@ 2026-06-22 16:09 Serhat Kumral
2026-06-23 5:21 ` Dan Carpenter
0 siblings, 1 reply; 2+ messages in thread
From: Serhat Kumral @ 2026-06-22 16:09 UTC (permalink / raw)
To: linux-staging
Cc: gregkh, linux-kernel, lgs201920130244, error27, Serhat Kumral,
Dan Carpenter
The function only supports NL80211_BAND_2GHZ and falls through to
exit for any other band. Replace the n_channels and n_bitrates local
variables with the compile-time constants RTW_2G_CHANNELS_NUM and
RTW_G_RATES_NUM directly.
Use simple addition in kzalloc() instead of chained size_add() calls,
since the sizes are derived from compile-time constants and cannot
overflow. Replace the intermediate alloc_sz variable accordingly.
Remove the redundant second band check before the init calls, as
the early exit at the top of the function guarantees that only the
2GHz case can reach that point.
No functional change intended.
Suggested-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Serhat Kumral <serhatkumral1@gmail.com>
---
.../staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 31 +++++++------------
1 file changed, 12 insertions(+), 19 deletions(-)
diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
index 1484336d7..dfc44ebb7 100644
--- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
+++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
@@ -110,33 +110,26 @@ static struct ieee80211_supported_band *rtw_spt_band_alloc(
)
{
struct ieee80211_supported_band *spt_band = NULL;
- int n_channels, n_bitrates;
- size_t alloc_sz;
+ size_t channels_sz, bitrate_size;
- if (band == NL80211_BAND_2GHZ) {
- n_channels = RTW_2G_CHANNELS_NUM;
- n_bitrates = RTW_G_RATES_NUM;
- } else {
+ if (band != NL80211_BAND_2GHZ)
goto exit;
- }
- alloc_sz = sizeof(*spt_band);
- alloc_sz = size_add(alloc_sz, array_size(n_channels, sizeof(struct ieee80211_channel)));
- alloc_sz = size_add(alloc_sz, array_size(n_bitrates, sizeof(struct ieee80211_rate)));
- spt_band = kzalloc(alloc_sz, GFP_KERNEL);
+ channels_sz = array_size(RTW_2G_CHANNELS_NUM, sizeof(struct ieee80211_channel));
+ bitrate_size = array_size(RTW_G_RATES_NUM, sizeof(struct ieee80211_rate));
+
+ spt_band = kzalloc(sizeof(*spt_band) + channels_sz + bitrate_size, GFP_KERNEL);
if (!spt_band)
goto exit;
- spt_band->channels = (struct ieee80211_channel *)(((u8 *)spt_band) + sizeof(struct ieee80211_supported_band));
- spt_band->bitrates = (struct ieee80211_rate *)(((u8 *)spt_band->channels) + sizeof(struct ieee80211_channel) * n_channels);
+ spt_band->channels = (void *)spt_band + sizeof(*spt_band);
+ spt_band->bitrates = (void *)spt_band + sizeof(*spt_band) + channels_sz;
spt_band->band = band;
- spt_band->n_channels = n_channels;
- spt_band->n_bitrates = n_bitrates;
+ spt_band->n_channels = RTW_2G_CHANNELS_NUM;
+ spt_band->n_bitrates = RTW_G_RATES_NUM;
- if (band == NL80211_BAND_2GHZ) {
- rtw_2g_channels_init(spt_band->channels);
- rtw_2g_rates_init(spt_band->bitrates);
- }
+ rtw_2g_channels_init(spt_band->channels);
+ rtw_2g_rates_init(spt_band->bitrates);
/* spt_band.ht_cap */
--
2.54.0
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [PATCH v2] staging: rtl8723bs: simplify rtw_spt_band_alloc
2026-06-22 16:09 [PATCH v2] staging: rtl8723bs: simplify rtw_spt_band_alloc Serhat Kumral
@ 2026-06-23 5:21 ` Dan Carpenter
0 siblings, 0 replies; 2+ messages in thread
From: Dan Carpenter @ 2026-06-23 5:21 UTC (permalink / raw)
To: Serhat Kumral
Cc: linux-staging, gregkh, linux-kernel, lgs201920130244, Dan Carpenter
On Mon, Jun 22, 2026 at 07:09:47PM +0300, Serhat Kumral wrote:
> The function only supports NL80211_BAND_2GHZ and falls through to
> exit for any other band. Replace the n_channels and n_bitrates local
> variables with the compile-time constants RTW_2G_CHANNELS_NUM and
> RTW_G_RATES_NUM directly.
>
> Use simple addition in kzalloc() instead of chained size_add() calls,
> since the sizes are derived from compile-time constants and cannot
> overflow. Replace the intermediate alloc_sz variable accordingly.
>
> Remove the redundant second band check before the init calls, as
> the early exit at the top of the function guarantees that only the
> 2GHz case can reach that point.
>
> No functional change intended.
>
> Suggested-by: Dan Carpenter <dan.carpenter@linaro.org>
>
> Signed-off-by: Serhat Kumral <serhatkumral1@gmail.com>
> ---
Thanks!
Reviewed-by: Dan Carpenter <error27@gmail.com>
regards,
dan carpenter
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-06-23 5:21 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-22 16:09 [PATCH v2] staging: rtl8723bs: simplify rtw_spt_band_alloc Serhat Kumral
2026-06-23 5:21 ` Dan Carpenter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®