The data structure which contains the timer is about to be freed. Make sure no callback is running. Signed-off-by: Thomas Gleixner Cc: Grant Likely --- drivers/block/xsysace.c | 2 ++ 1 file changed, 2 insertions(+) Index: tip/drivers/block/xsysace.c =================================================================== --- tip.orig/drivers/block/xsysace.c +++ tip/drivers/block/xsysace.c @@ -1088,6 +1088,8 @@ static void ace_teardown(struct ace_devi if (ace->irq) free_irq(ace->irq, ace); + del_timer_sync(&ace->stall_timer); + iounmap(ace->baseaddr); }