[PATCH 2.6] ibmveth bug fixes 3/4

From: Santiago Leon
Date: Tue Aug 10 2004 - 13:21:43 EST


Andrew,

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 <santil@xxxxxxxxxx>

--
Santiago A. Leon
Power Linux Development
IBM Linux Technology Center
===== drivers/net/ibmveth.c 1.15 vs edited =====
--- 1.15/drivers/net/ibmveth.c Tue Aug 10 11:59:07 2004
+++ edited/drivers/net/ibmveth.c Tue Aug 10 11:59:49 2004
@@ -530,7 +530,7 @@
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 @@

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)
{