diff options
author | Shaun Ruffell <sruffell@digium.com> | 2009-06-29 20:56:07 +0000 |
---|---|---|
committer | Shaun Ruffell <sruffell@digium.com> | 2009-06-29 20:56:07 +0000 |
commit | 6b34a37751245e4415323fbc3df4b11fd386d8b3 (patch) | |
tree | 00d903d8f17c3be33730d4e25b453306db83eca8 /drivers/dahdi/wcte12xp | |
parent | 8429ae62a280f445e98c2857369dc1fc5a092685 (diff) |
dahdi-base: Enable DAHDI to manage the reference counts for the board drivers.
Adds a struct module 'owner' member to the dahdi_span structure and updates
all the board drivers to set this member before registering the span. This
allows the core of dahdi to maintain the reference counts on the channels
itself.
(closes issue #10601)
Reported by: Matti
git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@6794 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'drivers/dahdi/wcte12xp')
-rw-r--r-- | drivers/dahdi/wcte12xp/base.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/dahdi/wcte12xp/base.c b/drivers/dahdi/wcte12xp/base.c index 83b87a8..29ce990 100644 --- a/drivers/dahdi/wcte12xp/base.c +++ b/drivers/dahdi/wcte12xp/base.c @@ -1142,15 +1142,11 @@ static int t1xxp_maint(struct dahdi_span *span, int cmd) static int t1xxp_open(struct dahdi_chan *chan) { - if (!try_module_get(THIS_MODULE)) - return -ENXIO; - else - return 0; + return 0; } static int t1xxp_close(struct dahdi_chan *chan) { - module_put(THIS_MODULE); return 0; } @@ -1226,6 +1222,7 @@ static int t1_software_init(struct t1 *wc) snprintf(wc->span.location, sizeof(wc->span.location) - 1, "PCI Bus %02d Slot %02d", dev->bus->number, PCI_SLOT(dev->devfn) + 1); + wc->span.owner = THIS_MODULE; wc->span.spanconfig = t1xxp_spanconfig; wc->span.chanconfig = t1xxp_chanconfig; wc->span.irq = dev->irq; |