Fix kfree(skb) Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> --- FYI: I noted that in the latter patch, function i2400mu_rx() rx_skb is freed, but at label :out still rx_skb is returned But this doesn't matter since the return value of this function, only called at lines 342 and 404, is checked with: ret = i2400mu_rx(...); if (IS_ERR(ret)) return PTR_ERR(ret); diff --git a/drivers/net/wimax/i2400m/control.c b/drivers/net/wimax/i2400m/control.c index d3d37fe..15d9f51 100644 --- a/drivers/net/wimax/i2400m/control.c +++ b/drivers/net/wimax/i2400m/control.c @@ -609,7 +609,7 @@ void i2400m_msg_to_dev_cancel_wait(struct i2400m *i2400m, int code) spin_lock_irqsave(&i2400m->rx_lock, flags); ack_skb = i2400m->ack_skb; if (ack_skb && !IS_ERR(ack_skb)) - kfree(ack_skb); + kfree_skb(ack_skb); i2400m->ack_skb = ERR_PTR(code); spin_unlock_irqrestore(&i2400m->rx_lock, flags); } diff --git a/drivers/net/wimax/i2400m/usb-rx.c b/drivers/net/wimax/i2400m/usb-rx.c index 074cc1f..64d083f 100644 --- a/drivers/net/wimax/i2400m/usb-rx.c +++ b/drivers/net/wimax/i2400m/usb-rx.c @@ -243,7 +243,7 @@ retry: if (printk_ratelimit()) dev_err(dev, "RX: Can't reallocate skb to %d; " "RX dropped\n", rx_size); - kfree(rx_skb); + kfree_skb(rx_skb); result = 0; goto out; /* drop it...*/ }