<Ajay.Kathat@xxxxxxxxxxxxx> writes: > From: Ajay Singh <ajay.kathat@xxxxxxxxxxxxx> > > Use same cookie for request_threaded_irq() & free_irq() to properly free > IRQ during module unload. free_irq() already uses *wilc* handler so the > changes are required for request_threaded_irq(). > > Signed-off-by: Ajay Singh <ajay.kathat@xxxxxxxxxxxxx> > --- > drivers/net/wireless/microchip/wilc1000/netdev.c | 14 +++++--------- > 1 file changed, 5 insertions(+), 9 deletions(-) > > diff --git a/drivers/net/wireless/microchip/wilc1000/netdev.c b/drivers/net/wireless/microchip/wilc1000/netdev.c > index 1b205e7d97a8..66f725aad209 100644 > --- a/drivers/net/wireless/microchip/wilc1000/netdev.c > +++ b/drivers/net/wireless/microchip/wilc1000/netdev.c > @@ -24,12 +24,10 @@ > > static irqreturn_t isr_uh_routine(int irq, void *user_data) > { > - struct net_device *dev = user_data; > - struct wilc_vif *vif = netdev_priv(dev); > - struct wilc *wilc = vif->wilc; > + struct wilc *wilc = (struct wilc *)user_data; No need to cast a void pointer. > > if (wilc->close) { > - netdev_err(dev, "Can't handle UH interrupt\n"); > + pr_err("Can't handle UH interrupt"); > return IRQ_HANDLED; > } > return IRQ_WAKE_THREAD; > @@ -37,12 +35,10 @@ static irqreturn_t isr_uh_routine(int irq, void *user_data) > > static irqreturn_t isr_bh_routine(int irq, void *userdata) > { > - struct net_device *dev = userdata; > - struct wilc_vif *vif = netdev_priv(userdata); > - struct wilc *wilc = vif->wilc; > + struct wilc *wilc = (struct wilc *)userdata; Same here. -- https://patchwork.kernel.org/project/linux-wireless/list/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches