summaryrefslogtreecommitdiff
path: root/cesar
diff options
context:
space:
mode:
authorCeline Buret2009-12-15 17:52:46 +0100
committerNicolas Schodet2012-05-02 14:23:42 +0200
commitc631318095e3e41d1554fb0e9e053b78b81aad1b (patch)
treeb90da56f8fe3356a41517971529119725158eace /cesar
parentf186816a89df23572281122b407ea9394683eb2e (diff)
cesar/hal/phy/maximus: closes #1012
pb_crc_error field is saved between mpdu and noise reception
Diffstat (limited to 'cesar')
-rw-r--r--cesar/hal/phy/maximus/src/maximus_phy_ctrl.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/cesar/hal/phy/maximus/src/maximus_phy_ctrl.c b/cesar/hal/phy/maximus/src/maximus_phy_ctrl.c
index ed28032573..2d94d359d3 100644
--- a/cesar/hal/phy/maximus/src/maximus_phy_ctrl.c
+++ b/cesar/hal/phy/maximus/src/maximus_phy_ctrl.c
@@ -1191,6 +1191,9 @@ maximus_phy_recv_noise (phy_t *ctx, sci_msg_t *msg)
max_size[PHY_CHANDATA_TYPE_NRJ - 1] = PHY_CARRIER_NB*sizeof(phy_noise_energy_t); // in octets
max_size[PHY_CHANDATA_TYPE_NRJ_SYMBOL - 1] = MAC_MAX_SYMB_PER_MPDU*sizeof(phy_noise_energy_t); // in octets
+ /* pb_crc_error information has to be kept from last received MPDU processing */
+ u8 pb_crc_error = ctx->pbdma.status_word.pb_crc_error;
+
/* For a chandata transfer, all data are received into one SCI message. */
u8 frequency_noise[PHY_CARRIER_NB*sizeof(phy_noise_energy_t)];
u8 time_noise[MAC_MAX_SYMB_PER_MPDU*sizeof(phy_noise_energy_t)];
@@ -1235,6 +1238,7 @@ maximus_phy_recv_noise (phy_t *ctx, sci_msg_t *msg)
// for pb dma callback
memset(&ctx->pbdma.status_word, '\0', sizeof(phy_pbdma_status_t));
+ ctx->pbdma.status_word.pb_crc_error = pb_crc_error; /* saved from last MPDU reception */
// set current chandata
current_chandata = ctx->pbdma.first_chandata;