mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-15 13:15:57 +00:00
[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>
This commit is contained in:
parent
60296d9e4b
commit
82702d37a5
@ -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,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user