diff --git a/drivers/media/dvb-frontends/dvb-pll.c b/drivers/media/dvb-frontends/dvb-pll.c
index ba0c49107bd2..c850f1d69bce 100644
--- a/drivers/media/dvb-frontends/dvb-pll.c
+++ b/drivers/media/dvb-frontends/dvb-pll.c
@@ -788,6 +788,9 @@ struct dvb_frontend *dvb_pll_attach(struct dvb_frontend *fe, int pll_addr,
 	int ret;
 	const struct dvb_pll_desc *desc;
 
+	if (dvb_pll_devcount > DVB_PLL_MAX - 1)
+		return NULL;
+
 	b1 = kmalloc(1, GFP_KERNEL);
 	if (!b1)
 		return NULL;