From: Amitkumar Karwar <[email protected]>

Whenever new fsm_state enum element is added, fsm_state array
also needs to be updated. If this change is missed, we may end
up doing invalid access in array. BUILD_BUG_ON check will help
to avoid this problem.

Signed-off-by: Amitkumar Karwar <[email protected]>
---
 drivers/net/wireless/rsi/rsi_91x_debugfs.c | 2 ++
 drivers/net/wireless/rsi/rsi_main.h        | 4 +++-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/rsi/rsi_91x_debugfs.c 
b/drivers/net/wireless/rsi/rsi_91x_debugfs.c
index 4c0a493..f3b91b6 100644
--- a/drivers/net/wireless/rsi/rsi_91x_debugfs.c
+++ b/drivers/net/wireless/rsi/rsi_91x_debugfs.c
@@ -138,6 +138,8 @@ static int rsi_stats_read(struct seq_file *seq, void *data)
        seq_puts(seq, "==> RSI STA DRIVER STATUS <==\n");
        seq_puts(seq, "DRIVER_FSM_STATE: ");
 
+       BUILD_BUG_ON(ARRAY_SIZE(fsm_state) != NUM_FSM_STATES);
+
        if (common->fsm_state <= FSM_MAC_INIT_DONE)
                seq_printf(seq, "%s", fsm_state[common->fsm_state]);
 
diff --git a/drivers/net/wireless/rsi/rsi_main.h 
b/drivers/net/wireless/rsi/rsi_main.h
index f398525..72675eb 100644
--- a/drivers/net/wireless/rsi/rsi_main.h
+++ b/drivers/net/wireless/rsi/rsi_main.h
@@ -40,7 +40,9 @@ enum RSI_FSM_STATES {
        FSM_RESET_MAC_SENT,
        FSM_RADIO_CAPS_SENT,
        FSM_BB_RF_PROG_SENT,
-       FSM_MAC_INIT_DONE
+       FSM_MAC_INIT_DONE,
+
+       NUM_FSM_STATES
 };
 
 extern u32 rsi_zone_enabled;
-- 
2.7.4

Reply via email to