drivers: espi: npcx7: fix wrong comparison in vw generic isr.
This CL fixed the wrong comparison during searching the vw signal that issued interrupt from MIWU in espi_vw_generic_isr(). Signed-off-by: Mulin Chao <MLChao@nuvoton.com>
This commit is contained in:
parent
7f9f4e6597
commit
4260cac1e4
1 changed files with 8 additions and 6 deletions
|
@ -415,21 +415,23 @@ static void espi_vw_send_bootload_done(const struct device *dev)
|
||||||
|
|
||||||
static void espi_vw_generic_isr(const struct device *dev, struct npcx_wui *wui)
|
static void espi_vw_generic_isr(const struct device *dev, struct npcx_wui *wui)
|
||||||
{
|
{
|
||||||
int signal;
|
int idx;
|
||||||
|
enum espi_vwire_signal signal;
|
||||||
|
|
||||||
LOG_DBG("%s: WUI %d %d %d", __func__, wui->table, wui->group, wui->bit);
|
LOG_DBG("%s: WUI %d %d %d", __func__, wui->table, wui->group, wui->bit);
|
||||||
for (signal = 0; signal < ARRAY_SIZE(vw_in_tbl); signal++) {
|
for (idx = 0; idx < ARRAY_SIZE(vw_in_tbl); idx++) {
|
||||||
if (wui->table == vw_in_tbl[signal].vw_wui.table &&
|
if (wui->table == vw_in_tbl[idx].vw_wui.table &&
|
||||||
wui->group == vw_in_tbl[signal].vw_wui.group &&
|
wui->group == vw_in_tbl[idx].vw_wui.group &&
|
||||||
wui->bit == vw_in_tbl[signal].vw_wui.bit) {
|
wui->bit == vw_in_tbl[idx].vw_wui.bit) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (signal == ARRAY_SIZE(vw_in_tbl))
|
if (idx == ARRAY_SIZE(vw_in_tbl))
|
||||||
LOG_ERR("Unknown VW event! %d %d %d", wui->table,
|
LOG_ERR("Unknown VW event! %d %d %d", wui->table,
|
||||||
wui->group, wui->bit);
|
wui->group, wui->bit);
|
||||||
|
|
||||||
|
signal = vw_in_tbl[idx].sig;
|
||||||
if (signal == ESPI_VWIRE_SIGNAL_SLP_S3
|
if (signal == ESPI_VWIRE_SIGNAL_SLP_S3
|
||||||
|| signal == ESPI_VWIRE_SIGNAL_SLP_S4
|
|| signal == ESPI_VWIRE_SIGNAL_SLP_S4
|
||||||
|| signal == ESPI_VWIRE_SIGNAL_SLP_S5
|
|| signal == ESPI_VWIRE_SIGNAL_SLP_S5
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue