spin_lock(&bts_lock);
drex->table[scen].stat.drex_timeout[qos] = timeout;
- bts_set_drex_table(drex);
+ if (scen == drex->top_scen)
+ bts_set_drex_table(drex);
spin_unlock(&bts_lock);
out:
else
bts->table[scen].stat.wmo = mo;
- bts_setqos(bts->va_base, &bts->table[scen].stat);
+ if (scen == bts->top_scen)
+ bts_setqos(bts->va_base, &bts->table[scen].stat);
spin_unlock(&bts_lock);
out:
else
bts->table[scen].stat.max_wmo = mo;
- bts_setqos(bts->va_base, &bts->table[scen].stat);
+ if (scen == bts->top_scen)
+ bts_setqos(bts->va_base, &bts->table[scen].stat);
spin_unlock(&bts_lock);
out:
else
bts->table[scen].stat.full_wmo = mo;
- bts_setqos(bts->va_base, &bts->table[scen].stat);
+ if (scen == bts->top_scen)
+ bts_setqos(bts->va_base, &bts->table[scen].stat);
spin_unlock(&bts_lock);
out:
spin_lock(&bts_lock);
bts->table[scen].stat.priority = prio;
- bts_setqos(bts->va_base, &bts->table[scen].stat);
+ if (scen == bts->top_scen)
+ bts_setqos(bts->va_base, &bts->table[scen].stat);
spin_unlock(&bts_lock);
out:
else
bts->table[scen].stat.timeout_w = timeout;
- bts_setqos(bts->va_base, &bts->table[scen].stat);
+ if (scen == bts->top_scen)
+ bts_setqos(bts->va_base, &bts->table[scen].stat);
spin_unlock(&bts_lock);
out:
spin_lock(&bts_lock);
bts->table[scen].stat.timeout_en = timeout_en;
- bts_setqos(bts->va_base, &bts->table[scen].stat);
+ if (scen == bts->top_scen)
+ bts_setqos(bts->va_base, &bts->table[scen].stat);
spin_unlock(&bts_lock);
out:
spin_lock(&bts_lock);
drex->table[scen].stat.write_flush_config[set] = config;
- bts_set_drex_table(drex);
+ if (scen == drex->top_scen)
+ bts_set_drex_table(drex);
spin_unlock(&bts_lock);
out:
drex->table[scen].stat.vc_timer_th[set] |=
(threshold & BTS_VC_TIMER_TH_MASK);
}
- bts_set_drex_table(drex);
+
+ if (scen == drex->top_scen)
+ bts_set_drex_table(drex);
spin_unlock(&bts_lock);
out:
spin_lock(&bts_lock);
drex->table[scen].stat.cutoff_con = control;
- bts_set_drex_table(drex);
+ if (scen == drex->top_scen)
+ bts_set_drex_table(drex);
spin_unlock(&bts_lock);
out:
spin_lock(&bts_lock);
drex->table[scen].stat.brb_cutoff_config = config;
- bts_set_drex_table(drex);
+ if (scen == drex->top_scen)
+ bts_set_drex_table(drex);
spin_unlock(&bts_lock);
out:
spin_lock(&bts_lock);
drex->table[scen].stat.rdbuf_cutoff_config = config;
- bts_set_drex_table(drex);
+ if (scen == drex->top_scen)
+ bts_set_drex_table(drex);
spin_unlock(&bts_lock);
out:
spin_lock(&bts_lock);
drex_pf->table[scen].stat.pf_rreq_thrt_con = control;
- bts_set_drex_pf_table(drex_pf);
+ if (scen == drex_pf->top_scen)
+ bts_set_drex_pf_table(drex_pf);
spin_unlock(&bts_lock);
out:
spin_lock(&bts_lock);
drex_pf->table[scen].stat.allow_mo_for_region = config;
- bts_set_drex_pf_table(drex_pf);
+ if (scen == drex_pf->top_scen)
+ bts_set_drex_pf_table(drex_pf);
spin_unlock(&bts_lock);
out:
drex_pf->table[scen].stat.pf_qos_timer[set] |=
(timeout & BTS_PF_TIMER_MASK);
}
- bts_set_drex_pf_table(drex_pf);
+
+ if (scen == drex_pf->top_scen)
+ bts_set_drex_pf_table(drex_pf);
spin_unlock(&bts_lock);
out: