diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/dahdi/wctdm24xxp/base.c | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/drivers/dahdi/wctdm24xxp/base.c b/drivers/dahdi/wctdm24xxp/base.c index e8be13c..8fac337 100644 --- a/drivers/dahdi/wctdm24xxp/base.c +++ b/drivers/dahdi/wctdm24xxp/base.c @@ -4483,7 +4483,6 @@ wctdm_init_span(struct wctdm *wc, int spanno, int chanoffset, int chancount, (wc->desc->flags & FLAG_EXPRESS) ? " Express" : "", pdev->bus->number, PCI_SLOT(pdev->devfn) + 1); s->span.manufacturer = "Digium"; - strncpy(s->span.devicetype, wc->desc->name, sizeof(s->span.devicetype) - 1); if (wc->companding == DAHDI_LAW_DEFAULT) { if (wc->digi_mods || digital_span) @@ -4589,15 +4588,6 @@ static void wctdm_fixup_analog_span(struct wctdm *wc, int spanno) s->chans[y++]->sigcap = 0; } } - - for (x = 0; x < MAX_SPANS; x++) { - if (!wc->spans[x]) - continue; - if (wc->vpmadt032) - strncat(wc->spans[x]->span.devicetype, " (VPMADT032)", sizeof(wc->spans[x]->span.devicetype) - 1); - else if (wc->vpmoct) - strncat(wc->spans[x]->span.devicetype, " (VPMOCT032)", sizeof(wc->spans[x]->span.devicetype) - 1); - } } static int wctdm_initialize_vpmadt032(struct wctdm *wc) @@ -5571,6 +5561,27 @@ static void wctdm_allocate_irq_commands(struct wctdm *wc, unsigned int count) spin_unlock_irqrestore(&wc->reglock, flags); } +static void set_span_devicetype_string(struct wctdm *wc) +{ + unsigned int x; + + for (x = 0; x < ARRAY_SIZE(wc->spans); x++) { + struct dahdi_span *const s = &wc->spans[x]->span; + if (!s) + continue; + + strlcpy(s->devicetype, wc->desc->name, sizeof(s->devicetype)); + + if (wc->vpmadt032) { + strlcat(s->devicetype, " (VPMADT032)", + sizeof(s->devicetype)); + } else if (wc->vpmoct) { + strlcat(s->devicetype, " (VPMOCT032)", + sizeof(s->devicetype)); + } + } +} + #ifdef USE_ASYNC_INIT struct async_data { struct pci_dev *pdev; @@ -5838,6 +5849,7 @@ __wctdm_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) wc->avchannels = curchan; + set_span_devicetype_string(wc); #ifdef USE_ASYNC_INIT async_synchronize_cookie(cookie); |