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:
Mulin Chao 2020-10-07 17:31:47 +08:00 committed by Maureen Helm
commit 4260cac1e4

View file

@ -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