Commit b56e3ff0 authored by Santiago Leon's avatar Santiago Leon Committed by Linus Torvalds

[PATCH] ibmveth: hypervisor return value fix

This patch checks for the LongBusy return code from the hypervisor, and 
retries the operation (which is what the hypervisor expects the driver
to do). Please apply.
Signed-off-by: default avatarSantiago Leon <santil@us.ibm.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent aed86616
......@@ -530,7 +530,7 @@ static int ibmveth_open(struct net_device *netdev)
ibmveth_error_printk("unable to request irq 0x%x, rc %d\n", netdev->irq, rc);
do {
rc = h_free_logical_lan(adapter->vdev->unit_address);
} while H_isLongBusy(rc);
} while (H_isLongBusy(rc) || (rc == H_Busy));
ibmveth_cleanup(adapter);
return rc;
......@@ -562,7 +562,7 @@ static int ibmveth_close(struct net_device *netdev)
do {
lpar_rc = h_free_logical_lan(adapter->vdev->unit_address);
} while H_isLongBusy(lpar_rc);
} while (H_isLongBusy(lpar_rc) || (lpar_rc == H_Busy));
if(lpar_rc != H_Success)
{
......
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