|
@@ -483,6 +483,7 @@ bool efuse92e_shadow_update(struct ieee80211_hw *hw)
|
|
|
|
|
|
if (word_en != 0x0F) {
|
|
|
u8 tmpdata[8];
|
|
|
+
|
|
|
memcpy(tmpdata,
|
|
|
(&rtlefuse->efuse_map[EFUSE_MODIFY_MAP][base]),
|
|
|
8);
|
|
@@ -667,6 +668,7 @@ static int efuse_one_byte_write(struct ieee80211_hw *hw, u16 addr, u8 data)
|
|
|
static void efuse_read_all_map(struct ieee80211_hw *hw, u8 *efuse)
|
|
|
{
|
|
|
struct rtl_priv *rtlpriv = rtl_priv(hw);
|
|
|
+
|
|
|
efuse_power_switch(hw, false, true);
|
|
|
read92e_efuse(hw, 0, rtlpriv->cfg->maps[EFUSE_HWSET_MAX_SIZE], efuse);
|
|
|
efuse_power_switch(hw, false, false);
|
|
@@ -815,6 +817,7 @@ static void efuse_write_data_case1(struct ieee80211_hw *hw, u16 *efuse_addr,
|
|
|
if (0x0F != (badworden & 0x0F)) {
|
|
|
u8 reorg_offset = offset;
|
|
|
u8 reorg_worden = badworden;
|
|
|
+
|
|
|
efuse_pg_packet_write(hw, reorg_offset,
|
|
|
reorg_worden,
|
|
|
originaldata);
|
|
@@ -904,6 +907,7 @@ static void efuse_write_data_case2(struct ieee80211_hw *hw, u16 *efuse_addr,
|
|
|
if (0x0F != (badworden & 0x0F)) {
|
|
|
u8 reorg_offset = tmp_pkt.offset;
|
|
|
u8 reorg_worden = badworden;
|
|
|
+
|
|
|
efuse_pg_packet_write(hw, reorg_offset,
|
|
|
reorg_worden,
|
|
|
originaldata);
|
|
@@ -1218,6 +1222,7 @@ static u16 efuse_get_current_size(struct ieee80211_hw *hw)
|
|
|
static u8 efuse_calculate_word_cnts(u8 word_en)
|
|
|
{
|
|
|
u8 word_cnts = 0;
|
|
|
+
|
|
|
if (!(word_en & BIT(0)))
|
|
|
word_cnts++;
|
|
|
if (!(word_en & BIT(1)))
|