diff --git a/sys/include/net/gnrc/lorawan.h b/sys/include/net/gnrc/lorawan.h index d6f7ee38f5..1571b3153c 100644 --- a/sys/include/net/gnrc/lorawan.h +++ b/sys/include/net/gnrc/lorawan.h @@ -237,8 +237,9 @@ void gnrc_lorawan_mcps_request(gnrc_lorawan_t *mac, * To be called on radio RX done event. * * @param[in] mac pointer to the MAC descriptor - * @param[in] data pointer to the psdu. Pass NULL if the packet was wrong (or - * allocation failed) + * @param[in] data pointer to the psdu. Must not be NULL. Use + * @ref gnrc_lorawan_radio_rx_error_cb instead if the reception was + * not successful. * @param[in] size size of the PSDU */ void gnrc_lorawan_radio_rx_done_cb(gnrc_lorawan_t *mac, uint8_t *data, diff --git a/sys/net/gnrc/link_layer/lorawan/gnrc_lorawan.c b/sys/net/gnrc/link_layer/lorawan/gnrc_lorawan.c index efeab23dd7..3a3cfa1ff8 100644 --- a/sys/net/gnrc/link_layer/lorawan/gnrc_lorawan.c +++ b/sys/net/gnrc/link_layer/lorawan/gnrc_lorawan.c @@ -242,10 +242,8 @@ void gnrc_lorawan_send_pkt(gnrc_lorawan_t *mac, iolist_t *psdu, uint8_t dr) void gnrc_lorawan_radio_rx_done_cb(gnrc_lorawan_t *mac, uint8_t *psdu, size_t size) { + assert(psdu); _sleep_radio(mac); - if (psdu == NULL) { - return; - } mac->state = LORAWAN_STATE_IDLE; gnrc_lorawan_remove_timer(mac);