[svn-commits] kpfleming: branch mogorman/zaptel-1.2-transcoder
r2016 - /team/mogorman/zapte...
svn-commits at lists.digium.com
svn-commits at lists.digium.com
Mon Jan 29 15:59:15 MST 2007
Author: kpfleming
Date: Mon Jan 29 16:59:14 2007
New Revision: 2016
URL: http://svn.digium.com/view/zaptel?view=rev&rev=2016
Log:
use kmalloc instead of vmalloc
Modified:
team/mogorman/zaptel-1.2-transcoder/wctc4xxp/base.c
Modified: team/mogorman/zaptel-1.2-transcoder/wctc4xxp/base.c
URL: http://svn.digium.com/view/zaptel/team/mogorman/zaptel-1.2-transcoder/wctc4xxp/base.c?view=diff&rev=2016&r1=2015&r2=2016
==============================================================================
--- team/mogorman/zaptel-1.2-transcoder/wctc4xxp/base.c (original)
+++ team/mogorman/zaptel-1.2-transcoder/wctc4xxp/base.c Mon Jan 29 16:59:14 2007
@@ -33,7 +33,6 @@
#include <linux/sched.h>
#include <linux/pci.h>
#include <linux/interrupt.h>
-#include <linux/vmalloc.h>
#include <linux/mman.h>
#include <linux/delay.h>
#include <asm/io.h>
@@ -1336,7 +1335,7 @@
if (pci_enable_device(pdev))
return -EIO;
- if (!(wc = vmalloc(sizeof(*wc))))
+ if (!(wc = kmalloc(sizeof(*wc), GFP_KERNEL)))
return -ENOMEM;
ifaces[x] = wc;
@@ -1424,17 +1423,17 @@
wc->uencode = zt_transcoder_alloc(wc->numchannels);
wc->udecode = zt_transcoder_alloc(wc->numchannels);
- encoders = vmalloc(sizeof(*encoders) * wc->numchannels);
- decoders = vmalloc(sizeof(*decoders) * wc->numchannels);
+ encoders = kmalloc(sizeof(*encoders) * wc->numchannels, GFP_KERNEL);
+ decoders = kmalloc(sizeof(*decoders) * wc->numchannels, GFP_KERNEL);
if (!wc->uencode || !wc->udecode || !encoders || !decoders) {
if (wc->uencode)
zt_transcoder_free(wc->uencode);
if (wc->udecode)
zt_transcoder_free(wc->udecode);
if (encoders)
- vfree(encoders);
+ kfree(encoders);
if (decoders)
- vfree(decoders);
+ kfree(decoders);
return -ENOMEM;
}
@@ -1473,7 +1472,7 @@
release_region(wc->iobase, 0xFF);
pci_free_consistent(pdev, PCI_WINDOW_SIZE, (void *) wc->writechunk, wc->writedma);
pci_set_drvdata(pdev, NULL);
- vfree(wc);
+ kfree(wc);
/* TODO: what about all the encoders and decoders (do this earlier)? */
return -EIO;
}
@@ -1487,7 +1486,7 @@
release_region(wc->iobase, 0xff);
pci_free_consistent(pdev, PCI_WINDOW_SIZE, (void *) wc->writechunk, wc->writedma);
pci_set_drvdata(pdev, NULL);
- vfree(wc);
+ kfree(wc);
return -EIO;
}
@@ -1506,7 +1505,7 @@
release_region(wc->iobase, 0xff);
pci_free_consistent(pdev, PCI_WINDOW_SIZE, (void *) wc->writechunk, wc->writedma);
pci_set_drvdata(pdev, NULL);
- vfree(wc);
+ kfree(wc);
return -EIO;
}
@@ -1519,7 +1518,7 @@
release_region(wc->iobase, 0xff);
pci_free_consistent(pdev, PCI_WINDOW_SIZE, (void *) wc->writechunk, wc->writedma);
pci_set_drvdata(pdev, NULL);
- vfree(wc);
+ kfree(wc);
return -EIO;
}
@@ -1539,7 +1538,7 @@
{
if (wc->freeregion)
release_region(wc->iobase, 0xff);
- vfree(wc);
+ kfree(wc);
}
static void __devexit remove_one(struct pci_dev *pdev)
@@ -1551,6 +1550,9 @@
if (!wc)
return;
+
+ zt_transcoder_unregister(wc->udecode);
+ zt_transcoder_unregister(wc->uencode);
if (debug) {
debug_printk(1, "wc->ztsnd_rtx = %d\n", wc->ztsnd_rtx);
@@ -1568,13 +1570,6 @@
}
}
- zt_transcoder_unregister(wc->udecode);
- zt_transcoder_unregister(wc->uencode);
- zt_transcoder_free(wc->uencode);
- zt_transcoder_free(wc->udecode);
- vfree(wc->uencode->channels[0].pvt);
- vfree(wc->udecode->channels[0].pvt);
-
/* Stop any DMA */
stop_dma(wc);
@@ -1588,6 +1583,12 @@
pci_free_consistent(pdev, PCI_WINDOW_SIZE, (void *) wc->writechunk, wc->writedma);
free_irq(pdev->irq, wc);
+ kfree(wc->uencode->channels[0].pvt);
+ kfree(wc->udecode->channels[0].pvt);
+
+ zt_transcoder_free(wc->uencode);
+ zt_transcoder_free(wc->udecode);
+
/* Release span, possibly delayed */
release(wc);
}
More information about the svn-commits
mailing list