diff --git a/sound/core/timer.c b/sound/core/timer.c
index 7c1cbf0a0dc4098326e587ee30b1ed268c460a45..950eed0c098e69e128f0ce8448a2a6f4c5fb7bca 100644
--- a/sound/core/timer.c
+++ b/sound/core/timer.c
@@ -531,6 +531,8 @@ int snd_timer_stop(struct snd_timer_instance *timeri)
 	if (err < 0)
 		return err;
 	timer = timeri->timer;
+	if (!timer)
+		return -EINVAL;
 	spin_lock_irqsave(&timer->lock, flags);
 	timeri->cticks = timeri->ticks;
 	timeri->pticks = 0;