From: Santiago Leon 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: Santiago Leon Signed-off-by: Andrew Morton --- 25-akpm/drivers/net/ibmveth.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN drivers/net/ibmveth.c~ibmveth-hypervisor-retval-fix drivers/net/ibmveth.c --- 25/drivers/net/ibmveth.c~ibmveth-hypervisor-retval-fix 2004-08-15 13:02:42.369415728 -0700 +++ 25-akpm/drivers/net/ibmveth.c 2004-08-15 13:02:42.373415120 -0700 @@ -530,7 +530,7 @@ static int ibmveth_open(struct net_devic 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_devi 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) { _