From: <woojung....@microchip.com> Date: Mon, 31 Oct 2016 21:44:37 +0000
> @@ -2668,6 +2821,13 @@ static int lan78xx_bind(struct lan78xx_net *dev, > struct usb_interface *intf) > > dev->net->hw_features = dev->net->features; > > + ret = lan78xx_setup_irq_domain(dev); > + if (ret < 0) { > + netdev_warn(dev->net, > + "lan78xx_setup_irq_domain() failed : %d", ret); > + return ret; > + } > + This error path leaks the memory allocated at the beginning of this function. That would normally be freed up by lan78xx_unbind() but the caller will not invoke that if lan78xx_bind() fails so you have to take care of the kfree here.