summaryrefslogtreecommitdiff
path: root/cesar/ce/rx
diff options
context:
space:
mode:
authorJalil Chemseddine2012-06-12 11:26:02 +0200
committerJalil Chemseddine2012-06-20 11:10:05 +0200
commite17b3b9cf71e0528b94314880784fa22279514fe (patch)
treedd16bcddc46948531b7fe3b21238238d6f75f8d6 /cesar/ce/rx
parent218f3ab20c65e787072b1b0fe70943fa6e2e46ea (diff)
cesar/ce/rx/bl: handle correctly last nsr block, refs #3181
Diffstat (limited to 'cesar/ce/rx')
-rw-r--r--cesar/ce/rx/bitloading/src/bitloading.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/cesar/ce/rx/bitloading/src/bitloading.c b/cesar/ce/rx/bitloading/src/bitloading.c
index e57b8b576c..614c3e0628 100644
--- a/cesar/ce/rx/bitloading/src/bitloading.c
+++ b/cesar/ce/rx/bitloading/src/bitloading.c
@@ -113,6 +113,7 @@ ce_rx_bl_update_tone_map_under_ber_consign (u64 ber_pt,
if (!(tk_cur_ & 0x1))
{
/* Compute BER. */
+ dbg_assert_ptr (nsr_data);
ce_rx_bl_ber_vs_nsr (ce_rx_bl_ber_poly_coef[fec_rate],
nsr_data[carrier_index % (BLK_SIZE / 4)], ber_pt,
&modulation, &opti_table[i].ber_lower, &ber_upper);
@@ -152,8 +153,10 @@ ce_rx_bl_update_tone_map_under_ber_consign (u64 ber_pt,
if (!(carrier_index % (BLK_SIZE / 4)))
{
cur_blk = cur_blk->next;
- dbg_assert (cur_blk);
- nsr_data = (u32 *) cur_blk->data;
+ if (cur_blk && cur_blk != INVALID_PTR)
+ nsr_data = (u32 *) cur_blk->data;
+ else
+ dbg_invalid_ptr (nsr_data);
}
TONEMAP_ACCESS_END;