diff --git a/kernel/spec-vic.c b/kernel/spec-vic.c
index 71ad981a61ca772cb5b1f82892a797119d0e7b12..489df79b6d53106cf2edda3af316248bac75fac5 100644
--- a/kernel/spec-vic.c
+++ b/kernel/spec-vic.c
@@ -99,7 +99,7 @@ static int spec_vic_init(struct spec_dev *spec, struct fmc_device *fmc)
 	return 0;
 }
 
-static void spec_vic_cleanup(struct spec_dev *spec)
+static void spec_vic_exit(struct spec_dev *spec)
 {
 	if (!spec->vic)
 		return;
@@ -108,7 +108,6 @@ static void spec_vic_cleanup(struct spec_dev *spec)
 	vic_writel(spec->vic, 0xffffffff, VIC_REG_IDR);
 	vic_writel(spec->vic, 0, VIC_REG_CTL);
 	kfree(spec->vic);
-	spec->vic = NULL;
 }
 
 irqreturn_t spec_vic_irq_dispatch(struct spec_dev *spec)
@@ -208,7 +207,7 @@ int spec_vic_irq_free(struct spec_dev *spec, unsigned long id)
 
 	/* Clean up the VIC if there are no more handlers */
 	if (!vic_handler_count(spec->vic)) {
-		spec_vic_cleanup(spec);
+		spec_vic_exit(spec);
 		spec->vic = NULL;
 	}