|
@@ -1744,23 +1744,29 @@ static void _rtl92de_read_adapter_info(struct ieee80211_hw *hw)
|
|
struct rtl_priv *rtlpriv = rtl_priv(hw);
|
|
struct rtl_priv *rtlpriv = rtl_priv(hw);
|
|
struct rtl_efuse *rtlefuse = rtl_efuse(rtl_priv(hw));
|
|
struct rtl_efuse *rtlefuse = rtl_efuse(rtl_priv(hw));
|
|
struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw));
|
|
struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw));
|
|
|
|
+ struct device *dev = &rtl_pcipriv(hw)->dev.pdev->dev;
|
|
u16 i, usvalue;
|
|
u16 i, usvalue;
|
|
u8 hwinfo[HWSET_MAX_SIZE];
|
|
u8 hwinfo[HWSET_MAX_SIZE];
|
|
u16 eeprom_id;
|
|
u16 eeprom_id;
|
|
unsigned long flags;
|
|
unsigned long flags;
|
|
|
|
|
|
- if (rtlefuse->epromtype == EEPROM_BOOT_EFUSE) {
|
|
|
|
|
|
+ switch (rtlefuse->epromtype) {
|
|
|
|
+ case EEPROM_BOOT_EFUSE:
|
|
spin_lock_irqsave(&globalmutex_for_power_and_efuse, flags);
|
|
spin_lock_irqsave(&globalmutex_for_power_and_efuse, flags);
|
|
rtl_efuse_shadow_map_update(hw);
|
|
rtl_efuse_shadow_map_update(hw);
|
|
_rtl92de_efuse_update_chip_version(hw);
|
|
_rtl92de_efuse_update_chip_version(hw);
|
|
spin_unlock_irqrestore(&globalmutex_for_power_and_efuse, flags);
|
|
spin_unlock_irqrestore(&globalmutex_for_power_and_efuse, flags);
|
|
- memcpy((void *)hwinfo, (void *)&rtlefuse->efuse_map
|
|
|
|
- [EFUSE_INIT_MAP][0],
|
|
|
|
- HWSET_MAX_SIZE);
|
|
|
|
- } else if (rtlefuse->epromtype == EEPROM_93C46) {
|
|
|
|
|
|
+ break;
|
|
|
|
+ case EEPROM_93C46:
|
|
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
|
|
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
|
|
"RTL819X Not boot from eeprom, check it !!\n");
|
|
"RTL819X Not boot from eeprom, check it !!\n");
|
|
|
|
+ return;
|
|
|
|
+ default:
|
|
|
|
+ dev_warn(dev, "no efuse data\n");
|
|
|
|
+ return;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ memcpy(hwinfo, &rtlefuse->efuse_map[EFUSE_INIT_MAP][0], HWSET_MAX_SIZE);
|
|
RT_PRINT_DATA(rtlpriv, COMP_INIT, DBG_DMESG, "MAP",
|
|
RT_PRINT_DATA(rtlpriv, COMP_INIT, DBG_DMESG, "MAP",
|
|
hwinfo, HWSET_MAX_SIZE);
|
|
hwinfo, HWSET_MAX_SIZE);
|
|
|
|
|