Hi Mingtong, On Wed, Jun 14, 2023 at 1:23 PM <baomingtong001@xxxxxxxxxx> wrote: > > Fix the following coccicheck warning: > > drivers/net/wireless/ath/ath9k/gpio.c:501:5-8: Unneeded variable: "len". Coccinelle / Coccicheck is unable to accurately detect unused variables as it can only analyse the code as it is written and doesn't, for example, expand macros. This produces false positives like the one you're trying to fix in this patch. > Signed-off-by: Mingtong Bao <baomingtong001@xxxxxxxxxx> > --- > drivers/net/wireless/ath/ath9k/gpio.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/net/wireless/ath/ath9k/gpio.c > b/drivers/net/wireless/ath/ath9k/gpio.c > index b457e52dd365..f3d1bc02e633 100644 > --- a/drivers/net/wireless/ath/ath9k/gpio.c > +++ b/drivers/net/wireless/ath/ath9k/gpio.c > @@ -498,14 +498,13 @@ static int ath9k_dump_legacy_btcoex(struct > ath_softc *sc, u8 *buf, u32 size) > { > > struct ath_btcoex *btcoex = &sc->btcoex; > - u32 len = 0; > > ATH_DUMP_BTCOEX("Stomp Type", btcoex->bt_stomp_type); ATH_DUMP_BTCOEX() is a macro that relies on a bunch of local variables being defined, one of which is "len". If you'd compiled this code, you would have spotted this problem immediately. A "correct" solution to the "problem" here might be to add the local variables to the macro parameters or move the definition of the macro closer to where it's used so it's more obvious that some "magic" is going on here. As others have said, you need to fully understand what code is doing before producing these sorts of cleanups, otherwise you'll produce incorrect patches like this one. Thanks, -- Julian Calaby Email: julian.calaby@xxxxxxxxx Profile: http://www.google.com/profiles/julian.calaby/