summaryrefslogtreecommitdiff
path: root/drivers/dahdi/xpp/card_bri.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/dahdi/xpp/card_bri.c')
-rw-r--r--drivers/dahdi/xpp/card_bri.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/drivers/dahdi/xpp/card_bri.c b/drivers/dahdi/xpp/card_bri.c
index a749f9d..280be6c 100644
--- a/drivers/dahdi/xpp/card_bri.c
+++ b/drivers/dahdi/xpp/card_bri.c
@@ -1279,6 +1279,7 @@ void BRI_card_pcm_recompute(xbus_t *xbus, xpd_t *xpd, xpp_line_t dont_care)
int i;
int line_count;
xpp_line_t pcm_mask;
+ uint pcm_len;
xpd_t *main_xpd;
unsigned long flags;
@@ -1308,8 +1309,7 @@ void BRI_card_pcm_recompute(xbus_t *xbus, xpd_t *xpd, xpp_line_t dont_care)
}
/* subunits have fake pcm_len and wanted_pcm_mask */
if(i > 0) {
- sub_xpd->pcm_len = 0;
- sub_xpd->wanted_pcm_mask = lines;
+ update_wanted_pcm_mask(sub_xpd, lines, 0);
}
}
}
@@ -1324,13 +1324,10 @@ void BRI_card_pcm_recompute(xbus_t *xbus, xpd_t *xpd, xpp_line_t dont_care)
/*
* The main unit account for all subunits (pcm_len and wanted_pcm_mask).
*/
- main_xpd->pcm_len = (line_count)
+ pcm_len = (line_count)
? RPACKET_HEADERSIZE + sizeof(xpp_line_t) + line_count * DAHDI_CHUNKSIZE
: 0L;
- main_xpd->wanted_pcm_mask = pcm_mask;
- XPD_DBG(SIGNAL, main_xpd, "pcm_len=%d wanted_pcm_mask=0x%X (%s)\n",
- main_xpd->pcm_len, main_xpd->wanted_pcm_mask,
- xpd->xpdname);
+ update_wanted_pcm_mask(main_xpd, pcm_mask, pcm_len);
spin_unlock_irqrestore(&main_xpd->lock_recompute_pcm, flags);
}