diff --git a/net/core/dev.c b/net/core/dev.c
index e7d68ed8aafe60f75233fcdc1ed68c39e755cda6..b24ab0e98eb4d8dd8cef2a20ef2a39b97d9ece92 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2148,6 +2148,9 @@ static void skb_warn_bad_offload(const struct sk_buff *skb)
 	struct net_device *dev = skb->dev;
 	const char *driver = "";
 
+	if (!net_ratelimit())
+		return;
+
 	if (dev && dev->dev.parent)
 		driver = dev_driver_string(dev->dev.parent);