aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorSantiago Leon <santil@us.ibm.com>2005-10-26 12:47:23 -0400
committerJeff Garzik <jgarzik@pobox.com>2005-10-28 16:07:31 -0400
commit82702d37a559cf94fe238cd3f8ef63cf7fa699a9 (patch)
tree695a5b7dca7e2c25aa148fc4bb968857f7bc72c6 /drivers/net
parent60296d9e4be1cd9e096f7804ce6e839e0cbd97cf (diff)
[PATCH] ibmveth fix failed addbuf
This patch fixes a bug that happens when the hypervisor can't add a buffer. The old code wrote IBM_VETH_INVALID_MAP into the free_map array, so next time the index was used, a ibmveth_assert() caught it and called BUG(). The patch writes the right value into the free_map array so that the index can be reused. Signed-off-by: Santiago Leon <santil@us.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/ibmveth.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ibmveth.c b/drivers/net/ibmveth.c
index 987bcba0188..f5819527ec9 100644
--- a/drivers/net/ibmveth.c
+++ b/drivers/net/ibmveth.c
@@ -237,7 +237,7 @@ static void ibmveth_replenish_buffer_pool(struct ibmveth_adapter *adapter, struc
237 lpar_rc = h_add_logical_lan_buffer(adapter->vdev->unit_address, desc.desc); 237 lpar_rc = h_add_logical_lan_buffer(adapter->vdev->unit_address, desc.desc);
238 238
239 if(lpar_rc != H_Success) { 239 if(lpar_rc != H_Success) {
240 pool->free_map[free_index] = IBM_VETH_INVALID_MAP; 240 pool->free_map[free_index] = index;
241 pool->skbuff[index] = NULL; 241 pool->skbuff[index] = NULL;
242 pool->consumer_index--; 242 pool->consumer_index--;
243 dma_unmap_single(&adapter->vdev->dev, 243 dma_unmap_single(&adapter->vdev->dev,