mirror of
https://github.com/torvalds/linux.git
synced 2026-07-29 10:41:49 +02:00
wifi: ath9k: use kmemdup and kcalloc
Simplifies the code slightly by removing temporary variables. multiplication overflow is also gained for free. Signed-off-by: Rosen Penev <rosenp@gmail.com> Acked-by: Toke Høiland-Jørgensen <toke@toke.dk> Link: https://patch.msgid.link/20260223224445.27352-1-rosenp@gmail.com Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
This commit is contained in:
parent
7b2338d5ec
commit
3042a9d403
|
|
@ -80,14 +80,14 @@ static int ar9002_hw_init_mode_regs(struct ath_hw *ah)
|
|||
/* iniAddac needs to be modified for these chips */
|
||||
if (AR_SREV_9160(ah) || !AR_SREV_5416_22_OR_LATER(ah)) {
|
||||
struct ar5416IniArray *addac = &ah->iniAddac;
|
||||
u32 size = sizeof(u32) * addac->ia_rows * addac->ia_columns;
|
||||
u32 n = addac->ia_rows * addac->ia_columns;
|
||||
u32 *data;
|
||||
|
||||
data = devm_kzalloc(ah->dev, size, GFP_KERNEL);
|
||||
data = devm_kmemdup_array(ah->dev, addac->ia_array, n, sizeof(u32),
|
||||
GFP_KERNEL);
|
||||
if (!data)
|
||||
return -ENOMEM;
|
||||
|
||||
memcpy(data, addac->ia_array, size);
|
||||
addac->ia_array = data;
|
||||
|
||||
if (!AR_SREV_5416_22_OR_LATER(ah)) {
|
||||
|
|
|
|||
|
|
@ -133,13 +133,11 @@ int ath9k_cmn_init_channels_rates(struct ath_common *common)
|
|||
ATH9K_NUM_CHANNELS);
|
||||
|
||||
if (ah->caps.hw_caps & ATH9K_HW_CAP_2GHZ) {
|
||||
channels = devm_kzalloc(ah->dev,
|
||||
channels = devm_kmemdup(ah->dev, ath9k_2ghz_chantable,
|
||||
sizeof(ath9k_2ghz_chantable), GFP_KERNEL);
|
||||
if (!channels)
|
||||
return -ENOMEM;
|
||||
|
||||
memcpy(channels, ath9k_2ghz_chantable,
|
||||
sizeof(ath9k_2ghz_chantable));
|
||||
common->sbands[NL80211_BAND_2GHZ].channels = channels;
|
||||
common->sbands[NL80211_BAND_2GHZ].band = NL80211_BAND_2GHZ;
|
||||
common->sbands[NL80211_BAND_2GHZ].n_channels =
|
||||
|
|
@ -150,13 +148,11 @@ int ath9k_cmn_init_channels_rates(struct ath_common *common)
|
|||
}
|
||||
|
||||
if (ah->caps.hw_caps & ATH9K_HW_CAP_5GHZ) {
|
||||
channels = devm_kzalloc(ah->dev,
|
||||
channels = devm_kmemdup(ah->dev, ath9k_5ghz_chantable,
|
||||
sizeof(ath9k_5ghz_chantable), GFP_KERNEL);
|
||||
if (!channels)
|
||||
return -ENOMEM;
|
||||
|
||||
memcpy(channels, ath9k_5ghz_chantable,
|
||||
sizeof(ath9k_5ghz_chantable));
|
||||
common->sbands[NL80211_BAND_5GHZ].channels = channels;
|
||||
common->sbands[NL80211_BAND_5GHZ].band = NL80211_BAND_5GHZ;
|
||||
common->sbands[NL80211_BAND_5GHZ].n_channels =
|
||||
|
|
|
|||
|
|
@ -285,7 +285,7 @@ int ath_descdma_setup(struct ath_softc *sc, struct ath_descdma *dd,
|
|||
{
|
||||
struct ath_common *common = ath9k_hw_common(sc->sc_ah);
|
||||
u8 *ds;
|
||||
int i, bsize, desc_len;
|
||||
int i, desc_len;
|
||||
|
||||
ath_dbg(common, CONFIG, "%s DMA: %u buffers %u desc/buf\n",
|
||||
name, nbuf, ndesc);
|
||||
|
|
@ -339,8 +339,7 @@ int ath_descdma_setup(struct ath_softc *sc, struct ath_descdma *dd,
|
|||
if (is_tx) {
|
||||
struct ath_buf *bf;
|
||||
|
||||
bsize = sizeof(struct ath_buf) * nbuf;
|
||||
bf = devm_kzalloc(sc->dev, bsize, GFP_KERNEL);
|
||||
bf = devm_kcalloc(sc->dev, sizeof(*bf), nbuf, GFP_KERNEL);
|
||||
if (!bf)
|
||||
return -ENOMEM;
|
||||
|
||||
|
|
@ -370,8 +369,7 @@ int ath_descdma_setup(struct ath_softc *sc, struct ath_descdma *dd,
|
|||
} else {
|
||||
struct ath_rxbuf *bf;
|
||||
|
||||
bsize = sizeof(struct ath_rxbuf) * nbuf;
|
||||
bf = devm_kzalloc(sc->dev, bsize, GFP_KERNEL);
|
||||
bf = devm_kcalloc(sc->dev, sizeof(struct ath_rxbuf), nbuf, GFP_KERNEL);
|
||||
if (!bf)
|
||||
return -ENOMEM;
|
||||
|
||||
|
|
|
|||
|
|
@ -202,7 +202,6 @@ static int ath_rx_edma_init(struct ath_softc *sc, int nbufs)
|
|||
struct sk_buff *skb;
|
||||
struct ath_rxbuf *bf;
|
||||
int error = 0, i;
|
||||
u32 size;
|
||||
|
||||
ath9k_hw_set_rx_bufsize(ah, common->rx_bufsize -
|
||||
ah->caps.rx_status_len);
|
||||
|
|
@ -212,8 +211,7 @@ static int ath_rx_edma_init(struct ath_softc *sc, int nbufs)
|
|||
ath_rx_edma_init_queue(&sc->rx.rx_edma[ATH9K_RX_QUEUE_HP],
|
||||
ah->caps.rx_hp_qdepth);
|
||||
|
||||
size = sizeof(struct ath_rxbuf) * nbufs;
|
||||
bf = devm_kzalloc(sc->dev, size, GFP_KERNEL);
|
||||
bf = devm_kcalloc(sc->dev, sizeof(struct ath_rxbuf), nbufs, GFP_KERNEL);
|
||||
if (!bf)
|
||||
return -ENOMEM;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user