diff mbox

[1/1] ibmveth: Fix oops on request_irq failure

Message ID 201109281533.p8SFXhfe030707@d03av04.boulder.ibm.com
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Brian King Sept. 28, 2011, 3:33 p.m. UTC
If request_irq fails, the ibmveth driver will overwrite
the rc and end up returning a successful rc on its open
function, resulting in an oops later when a packet gets
sent and buffers are not allocated due to the failed open.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
---

 drivers/net/ibmveth.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

David Miller Sept. 29, 2011, 4:34 a.m. UTC | #1
From: Brian King <brking@linux.vnet.ibm.com>
Date: Wed, 28 Sep 2011 10:33:43 -0500

> 
> If request_irq fails, the ibmveth driver will overwrite
> the rc and end up returning a successful rc on its open
> function, resulting in an oops later when a packet gets
> sent and buffers are not allocated due to the failed open.
> 
> Signed-off-by: Brian King <brking@linux.vnet.ibm.com>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff -puN drivers/net/ibmveth.c~ibmveth_bounce_oops2 drivers/net/ibmveth.c
--- linux-2.6/drivers/net/ibmveth.c~ibmveth_bounce_oops2	2011-09-28 09:53:09.000000000 -0500
+++ linux-2.6-bjking1/drivers/net/ibmveth.c	2011-09-28 09:53:09.000000000 -0500
@@ -636,8 +636,8 @@  static int ibmveth_open(struct net_devic
 		netdev_err(netdev, "unable to request irq 0x%x, rc %d\n",
 			   netdev->irq, rc);
 		do {
-			rc = h_free_logical_lan(adapter->vdev->unit_address);
-		} while (H_IS_LONG_BUSY(rc) || (rc == H_BUSY));
+			lpar_rc = h_free_logical_lan(adapter->vdev->unit_address);
+		} while (H_IS_LONG_BUSY(lpar_rc) || (lpar_rc == H_BUSY));
 
 		goto err_out;
 	}