Skip to content

Commit

Permalink
[PATCH] IB/ipath: use vmalloc to allocate struct ipath_devdata
Browse files Browse the repository at this point in the history
This is not a DMA target, so no need to use dma_alloc_coherent on it.

Signed-off-by: Bryan O'Sullivan <bryan.osullivan@qlogic.com>
Cc: "Michael S. Tsirkin" <mst@mellanox.co.il>
Cc: Roland Dreier <rolandd@cisco.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Bryan O'Sullivan authored and Linus Torvalds committed Jul 1, 2006
1 parent 0ed9a4a commit 06993ca
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 8 deletions.
10 changes: 3 additions & 7 deletions drivers/infiniband/hw/ipath/ipath_driver.c
Original file line number Diff line number Diff line change
Expand Up @@ -171,30 +171,26 @@ static void ipath_free_devdata(struct pci_dev *pdev,
list_del(&dd->ipath_list);
spin_unlock_irqrestore(&ipath_devs_lock, flags);
}
dma_free_coherent(&pdev->dev, sizeof(*dd), dd, dd->ipath_dma_addr);
vfree(dd);
}

static struct ipath_devdata *ipath_alloc_devdata(struct pci_dev *pdev)
{
unsigned long flags;
struct ipath_devdata *dd;
dma_addr_t dma_addr;
int ret;

if (!idr_pre_get(&unit_table, GFP_KERNEL)) {
dd = ERR_PTR(-ENOMEM);
goto bail;
}

dd = dma_alloc_coherent(&pdev->dev, sizeof(*dd), &dma_addr,
GFP_KERNEL);

dd = vmalloc(sizeof(*dd));
if (!dd) {
dd = ERR_PTR(-ENOMEM);
goto bail;
}

dd->ipath_dma_addr = dma_addr;
memset(dd, 0, sizeof(*dd));
dd->ipath_unit = -1;

spin_lock_irqsave(&ipath_devs_lock, flags);
Expand Down
1 change: 0 additions & 1 deletion drivers/infiniband/hw/ipath/ipath_kernel.h
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,6 @@ struct ipath_devdata {
* only written to by the chip, not the driver.
*/
volatile __le64 *ipath_hdrqtailptr;
dma_addr_t ipath_dma_addr;
/* ipath_cfgports pointers */
struct ipath_portdata **ipath_pd;
/* sk_buffs used by port 0 eager receive queue */
Expand Down

0 comments on commit 06993ca

Please sign in to comment.