Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 82702d37 authored by Santiago Leon's avatar Santiago Leon Committed by Jeff Garzik
Browse files

[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: default avatarSantiago Leon <santil@us.ibm.com>
Signed-off-by: default avatarJeff Garzik <jgarzik@pobox.com>
parent 60296d9e
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -237,7 +237,7 @@ static void ibmveth_replenish_buffer_pool(struct ibmveth_adapter *adapter, struc
		lpar_rc = h_add_logical_lan_buffer(adapter->vdev->unit_address, desc.desc);
		lpar_rc = h_add_logical_lan_buffer(adapter->vdev->unit_address, desc.desc);
		    
		    
		if(lpar_rc != H_Success) {
		if(lpar_rc != H_Success) {
			pool->free_map[free_index] = IBM_VETH_INVALID_MAP;
			pool->free_map[free_index] = index;
			pool->skbuff[index] = NULL;
			pool->skbuff[index] = NULL;
			pool->consumer_index--;
			pool->consumer_index--;
			dma_unmap_single(&adapter->vdev->dev,
			dma_unmap_single(&adapter->vdev->dev,