diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 9d1d0e66c357b22f8354b0634ca10270d72d5e1b..bbcb43582496de14497a8e4e1d71674cd40b8119 100644
--- a/net/bridge/br_multicast.c
+++ b/net/bridge/br_multicast.c
@@ -1254,7 +1254,8 @@ static int br_ip6_multicast_query(struct net_bridge *br,
 		mld2q = (struct mld2_query *)icmp6_hdr(skb);
 		if (!mld2q->mld2q_nsrcs)
 			group = &mld2q->mld2q_mca;
-		max_delay = mld2q->mld2q_mrc ? MLDV2_MRC(ntohs(mld2q->mld2q_mrc)) : 1;
+
+		max_delay = max(msecs_to_jiffies(MLDV2_MRC(ntohs(mld2q->mld2q_mrc))), 1UL);
 	}
 
 	br_multicast_query_received(br, port, &br->ip6_querier,