aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorGanesh Venkatesan <ganesh.venkatesan@intel.com>2005-01-08 02:27:56 -0500
committerJeff Garzik <jgarzik@pobox.com>2005-01-08 02:27:56 -0500
commitcb9c0c5020b6a72f8119724bad0fb4bb32ec0771 (patch)
treee487a8a3ac6a487af30078bb48092a9ddc551fbe /drivers
parentb6243c8d98ec7e56ce50f9ed0449961bfeb2072e (diff)
downloadhistory-cb9c0c5020b6a72f8119724bad0fb4bb32ec0771.tar.gz
[PATCH] ixgb: Replace kmalloc with vmalloc (one time alloc)
Signed-off-by: Ganesh Venkatesan <ganesh.venkatesan@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/ixgb/ixgb.h1
-rw-r--r--drivers/net/ixgb/ixgb_main.c12
2 files changed, 7 insertions, 6 deletions
diff --git a/drivers/net/ixgb/ixgb.h b/drivers/net/ixgb/ixgb.h
index 2d689b97532c3e..f88e09a3be19bf 100644
--- a/drivers/net/ixgb/ixgb.h
+++ b/drivers/net/ixgb/ixgb.h
@@ -46,6 +46,7 @@
#include <linux/delay.h>
#include <linux/timer.h>
#include <linux/slab.h>
+#include <linux/vmalloc.h>
#include <linux/interrupt.h>
#include <linux/string.h>
#include <linux/pagemap.h>
diff --git a/drivers/net/ixgb/ixgb_main.c b/drivers/net/ixgb/ixgb_main.c
index 7e8b0a5ee4c3dc..fb65280d71b85f 100644
--- a/drivers/net/ixgb/ixgb_main.c
+++ b/drivers/net/ixgb/ixgb_main.c
@@ -633,8 +633,8 @@ static int ixgb_setup_tx_resources(struct ixgb_adapter *adapter)
int size;
size = sizeof(struct ixgb_buffer) * txdr->count;
- txdr->buffer_info = kmalloc(size, GFP_KERNEL);
if (!txdr->buffer_info) {
+ txdr->buffer_info = vmalloc(size);
return -ENOMEM;
}
memset(txdr->buffer_info, 0, size);
@@ -646,7 +646,7 @@ static int ixgb_setup_tx_resources(struct ixgb_adapter *adapter)
txdr->desc = pci_alloc_consistent(pdev, txdr->size, &txdr->dma);
if (!txdr->desc) {
- kfree(txdr->buffer_info);
+ vfree(txdr->buffer_info);
return -ENOMEM;
}
memset(txdr->desc, 0, txdr->size);
@@ -722,8 +722,8 @@ static int ixgb_setup_rx_resources(struct ixgb_adapter *adapter)
int size;
size = sizeof(struct ixgb_buffer) * rxdr->count;
- rxdr->buffer_info = kmalloc(size, GFP_KERNEL);
if (!rxdr->buffer_info) {
+ rxdr->buffer_info = vmalloc(size);
return -ENOMEM;
}
memset(rxdr->buffer_info, 0, size);
@@ -736,7 +736,7 @@ static int ixgb_setup_rx_resources(struct ixgb_adapter *adapter)
rxdr->desc = pci_alloc_consistent(pdev, rxdr->size, &rxdr->dma);
if (!rxdr->desc) {
- kfree(rxdr->buffer_info);
+ vfree(rxdr->buffer_info);
return -ENOMEM;
}
memset(rxdr->desc, 0, rxdr->size);
@@ -853,7 +853,7 @@ static void ixgb_free_tx_resources(struct ixgb_adapter *adapter)
ixgb_clean_tx_ring(adapter);
- kfree(adapter->tx_ring.buffer_info);
+ vfree(adapter->tx_ring.buffer_info);
adapter->tx_ring.buffer_info = NULL;
pci_free_consistent(pdev, adapter->tx_ring.size,
@@ -919,7 +919,7 @@ static void ixgb_free_rx_resources(struct ixgb_adapter *adapter)
ixgb_clean_rx_ring(adapter);
- kfree(rx_ring->buffer_info);
+ vfree(rx_ring->buffer_info);
rx_ring->buffer_info = NULL;
pci_free_consistent(pdev, rx_ring->size, rx_ring->desc, rx_ring->dma);