Message ID | 20190918044521.14953-1-navid.emamdoost@gmail.com |
---|---|
State | Changes Requested |
Delegated to: | David Miller |
Headers | show |
Series | drivers/net: release skb on failure | expand |
On Tue, 17 Sep 2019 23:45:21 -0500, Navid Emamdoost wrote: > In ql_run_loopback_test, ql_lb_send does not release skb when fails. So > it must be released before returning. > > Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com> > --- > drivers/net/ethernet/qlogic/qlge/qlge_ethtool.c | 4 +++- Thanks for the patch, this driver has been moved, please see commit 955315b0dc8c8641311430f40fbe53990ba40e33 Author: Benjamin Poirier <bpoirier@suse.com> Date: Tue Jul 23 15:14:13 2019 +0900 qlge: Move drivers/net/ethernet/qlogic/qlge/ to drivers/staging/qlge/ The hardware has been declared EOL by the vendor more than 5 years ago. What's more relevant to the Linux kernel is that the quality of this driver is not on par with many other mainline drivers. Cc: Manish Chopra <manishc@marvell.com> Message-id: <20190617074858.32467-1-bpoirier@suse.com> Signed-off-by: Benjamin Poirier <bpoirier@suse.com> Signed-off-by: David S. Miller <davem@davemloft.net> Could you rebase, and send the new version to GregKH as he is the stable maintainer? > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/qlogic/qlge/qlge_ethtool.c b/drivers/net/ethernet/qlogic/qlge/qlge_ethtool.c > index a6886cc5654c..d539b71b2a5c 100644 > --- a/drivers/net/ethernet/qlogic/qlge/qlge_ethtool.c > +++ b/drivers/net/ethernet/qlogic/qlge/qlge_ethtool.c > @@ -544,8 +544,10 @@ static int ql_run_loopback_test(struct ql_adapter *qdev) > skb_put(skb, size); > ql_create_lb_frame(skb, size); > rc = ql_lb_send(skb, qdev->ndev); > - if (rc != NETDEV_TX_OK) > + if (rc != NETDEV_TX_OK) { > + dev_kfree_skb_any(skb); > return -EPIPE; > + } > atomic_inc(&qdev->lb_count); > } > /* Give queue time to settle before testing results. */
diff --git a/drivers/net/ethernet/qlogic/qlge/qlge_ethtool.c b/drivers/net/ethernet/qlogic/qlge/qlge_ethtool.c index a6886cc5654c..d539b71b2a5c 100644 --- a/drivers/net/ethernet/qlogic/qlge/qlge_ethtool.c +++ b/drivers/net/ethernet/qlogic/qlge/qlge_ethtool.c @@ -544,8 +544,10 @@ static int ql_run_loopback_test(struct ql_adapter *qdev) skb_put(skb, size); ql_create_lb_frame(skb, size); rc = ql_lb_send(skb, qdev->ndev); - if (rc != NETDEV_TX_OK) + if (rc != NETDEV_TX_OK) { + dev_kfree_skb_any(skb); return -EPIPE; + } atomic_inc(&qdev->lb_count); } /* Give queue time to settle before testing results. */
In ql_run_loopback_test, ql_lb_send does not release skb when fails. So it must be released before returning. Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com> --- drivers/net/ethernet/qlogic/qlge/qlge_ethtool.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)