diff --git a/net/mac802154/wpan.c b/net/mac802154/wpan.c
index 3c3069fd69718277fc719e82d7bf2c51bb9747db..4c133239ad39c34dbc15c855e8d830277eb2c7e7 100644
--- a/net/mac802154/wpan.c
+++ b/net/mac802154/wpan.c
@@ -573,6 +573,7 @@ void mac802154_wpans_rx(struct mac802154_priv *priv, struct sk_buff *skb)
 	ret = mac802154_parse_frame_start(skb, &hdr);
 	if (ret) {
 		pr_debug("got invalid frame\n");
+		kfree_skb(skb);
 		return;
 	}