diff --git a/drivers/net/wimax/i2400m/sdio-rx.c b/drivers/net/wimax/i2400m/sdio-rx.c
index d619da3..9ee548c 100644
--- a/drivers/net/wimax/i2400m/sdio-rx.c
+++ b/drivers/net/wimax/i2400m/sdio-rx.c
@@ -173,6 +173,7 @@ void i2400ms_rx(struct i2400ms *i2400ms)
 	ret = -EIO;
 	if (unlikely(rx_size < sizeof(__le32))) {
 		dev_err(dev, "HW BUG? only %zu bytes received\n", rx_size);
+		kfree_skb(skb);
 		goto error_bad_size;
 	}
 	if (likely(i2400m_is_d2h_barker(skb->data))) {
