diff options
author | Jes Sorensen <Jes.Sorensen@redhat.com> | 2016-02-29 17:05:20 -0500 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2016-03-10 15:29:13 +0200 |
commit | 3e84f9386162878deb146a7e4f05710693f1a9c7 (patch) | |
tree | 0f34e5d82b9b4923d6b96155b8a661c3691e7bee | |
parent | e796dab4b987503913418260bce782d230df60db (diff) | |
download | op-kernel-dev-3e84f9386162878deb146a7e4f05710693f1a9c7.zip op-kernel-dev-3e84f9386162878deb146a7e4f05710693f1a9c7.tar.gz |
rtl8xxxu: Use size of source pointer when copying efuse data
Some newer chips have more channel groups in their efuse parameter
tables, so use the size of the source, rather than the destination
when copying them out. This avoids copying garbage when increasing the
common array sizes.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
-rw-r--r-- | drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c index de1e654..4c37bd4 100644 --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c @@ -2318,31 +2318,31 @@ static int rtl8723au_parse_efuse(struct rtl8xxxu_priv *priv) memcpy(priv->cck_tx_power_index_A, efuse->cck_tx_power_index_A, - sizeof(priv->cck_tx_power_index_A)); + sizeof(efuse->cck_tx_power_index_A)); memcpy(priv->cck_tx_power_index_B, efuse->cck_tx_power_index_B, - sizeof(priv->cck_tx_power_index_B)); + sizeof(efuse->cck_tx_power_index_B)); memcpy(priv->ht40_1s_tx_power_index_A, efuse->ht40_1s_tx_power_index_A, - sizeof(priv->ht40_1s_tx_power_index_A)); + sizeof(efuse->ht40_1s_tx_power_index_A)); memcpy(priv->ht40_1s_tx_power_index_B, efuse->ht40_1s_tx_power_index_B, - sizeof(priv->ht40_1s_tx_power_index_B)); + sizeof(efuse->ht40_1s_tx_power_index_B)); memcpy(priv->ht20_tx_power_index_diff, efuse->ht20_tx_power_index_diff, - sizeof(priv->ht20_tx_power_index_diff)); + sizeof(efuse->ht20_tx_power_index_diff)); memcpy(priv->ofdm_tx_power_index_diff, efuse->ofdm_tx_power_index_diff, - sizeof(priv->ofdm_tx_power_index_diff)); + sizeof(efuse->ofdm_tx_power_index_diff)); memcpy(priv->ht40_max_power_offset, efuse->ht40_max_power_offset, - sizeof(priv->ht40_max_power_offset)); + sizeof(efuse->ht40_max_power_offset)); memcpy(priv->ht20_max_power_offset, efuse->ht20_max_power_offset, - sizeof(priv->ht20_max_power_offset)); + sizeof(efuse->ht20_max_power_offset)); if (priv->efuse_wifi.efuse8723.version >= 0x01) { priv->has_xtalk = 1; @@ -2403,34 +2403,34 @@ static int rtl8192cu_parse_efuse(struct rtl8xxxu_priv *priv) memcpy(priv->cck_tx_power_index_A, efuse->cck_tx_power_index_A, - sizeof(priv->cck_tx_power_index_A)); + sizeof(efuse->cck_tx_power_index_A)); memcpy(priv->cck_tx_power_index_B, efuse->cck_tx_power_index_B, - sizeof(priv->cck_tx_power_index_B)); + sizeof(efuse->cck_tx_power_index_B)); memcpy(priv->ht40_1s_tx_power_index_A, efuse->ht40_1s_tx_power_index_A, - sizeof(priv->ht40_1s_tx_power_index_A)); + sizeof(efuse->ht40_1s_tx_power_index_A)); memcpy(priv->ht40_1s_tx_power_index_B, efuse->ht40_1s_tx_power_index_B, - sizeof(priv->ht40_1s_tx_power_index_B)); + sizeof(efuse->ht40_1s_tx_power_index_B)); memcpy(priv->ht40_2s_tx_power_index_diff, efuse->ht40_2s_tx_power_index_diff, - sizeof(priv->ht40_2s_tx_power_index_diff)); + sizeof(efuse->ht40_2s_tx_power_index_diff)); memcpy(priv->ht20_tx_power_index_diff, efuse->ht20_tx_power_index_diff, - sizeof(priv->ht20_tx_power_index_diff)); + sizeof(efuse->ht20_tx_power_index_diff)); memcpy(priv->ofdm_tx_power_index_diff, efuse->ofdm_tx_power_index_diff, - sizeof(priv->ofdm_tx_power_index_diff)); + sizeof(efuse->ofdm_tx_power_index_diff)); memcpy(priv->ht40_max_power_offset, efuse->ht40_max_power_offset, - sizeof(priv->ht40_max_power_offset)); + sizeof(efuse->ht40_max_power_offset)); memcpy(priv->ht20_max_power_offset, efuse->ht20_max_power_offset, - sizeof(priv->ht20_max_power_offset)); + sizeof(efuse->ht20_max_power_offset)); dev_info(&priv->udev->dev, "Vendor: %.7s\n", efuse->vendor_name); |