|
@@ -1203,20 +1203,18 @@ static void efuse_power_switch(struct ieee80211_hw *hw, u8 write, u8 pwrstate)
|
|
|
|
|
|
static u16 efuse_get_current_size(struct ieee80211_hw *hw)
|
|
|
{
|
|
|
- int continual = true;
|
|
|
u16 efuse_addr = 0;
|
|
|
u8 hworden;
|
|
|
u8 efuse_data, word_cnts;
|
|
|
|
|
|
- while (continual && efuse_one_byte_read(hw, efuse_addr, &efuse_data)
|
|
|
- && (efuse_addr < EFUSE_MAX_SIZE)) {
|
|
|
- if (efuse_data != 0xFF) {
|
|
|
- hworden = efuse_data & 0x0F;
|
|
|
- word_cnts = efuse_calculate_word_cnts(hworden);
|
|
|
- efuse_addr = efuse_addr + (word_cnts * 2) + 1;
|
|
|
- } else {
|
|
|
- continual = false;
|
|
|
- }
|
|
|
+ while (efuse_one_byte_read(hw, efuse_addr, &efuse_data) &&
|
|
|
+ efuse_addr < EFUSE_MAX_SIZE) {
|
|
|
+ if (efuse_data == 0xFF)
|
|
|
+ break;
|
|
|
+
|
|
|
+ hworden = efuse_data & 0x0F;
|
|
|
+ word_cnts = efuse_calculate_word_cnts(hworden);
|
|
|
+ efuse_addr = efuse_addr + (word_cnts * 2) + 1;
|
|
|
}
|
|
|
|
|
|
return efuse_addr;
|