Commit e98fc4aa authored by John W. Linville's avatar John W. Linville

[PATCH] e1000: avoid leak when e1000_setup_loopback_test fails

In e1000_loopback_test, make sure to call e1000_free_desc_rings if
e1000_setup_loopback_test fails.  Currently in that case it will not
get called, causing a leak.
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent cd52d1ee
......@@ -1440,9 +1440,11 @@ static int
e1000_loopback_test(struct e1000_adapter *adapter, uint64_t *data)
{
if((*data = e1000_setup_desc_rings(adapter))) goto err_loopback;
if((*data = e1000_setup_loopback_test(adapter))) goto err_loopback;
if((*data = e1000_setup_loopback_test(adapter)))
goto err_loopback_setup;
*data = e1000_run_loopback_test(adapter);
e1000_loopback_cleanup(adapter);
err_loopback_setup:
e1000_free_desc_rings(adapter);
err_loopback:
return *data;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment