diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index 31ac0f0bf86f64fe6e31286eaa9d617fd2cc7dc3..8ab8b65e17413e4a015aab5e073728fd23e21b47 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -6381,6 +6381,8 @@ static int raid456_cpu_notify(struct notifier_block *nfb, unsigned long action,
 		break;
 	case CPU_DEAD:
 	case CPU_DEAD_FROZEN:
+	case CPU_UP_CANCELED:
+	case CPU_UP_CANCELED_FROZEN:
 		free_scratch_buffer(conf, per_cpu_ptr(conf->percpu, cpu));
 		break;
 	default: