diff --git a/library/driver/ethernet/patmos_eth_mac.c b/library/driver/ethernet/patmos_eth_mac.c index ae1015a1f17adf11caed348cb43db78b0f68eb9f..55c00e5f04a9e1c1e90b7324c76c98123a36007a 100644 --- a/library/driver/ethernet/patmos_eth_mac.c +++ b/library/driver/ethernet/patmos_eth_mac.c @@ -356,8 +356,12 @@ network_error_t eth_mac_send_nb(network_frame_t *frame, mmio_ptr_t config_ptr) // adapt address and get next frame segment address += frame->header_length; - // write user data into buffer - mmio_wr_block(address, frame->user_data, frame->user_data_length); + // user data can be null sometimes with TCP frames + if(frame->user_data != NULL) + { + // write user data into buffer + mmio_wr_block(address, frame->user_data, frame->user_data_length); + } unsigned intr_en = EXC_STATUS & 0x1; if(intr_en) diff --git a/library/driver/ethernet/patmos_tsn_mac.c b/library/driver/ethernet/patmos_tsn_mac.c index 92f311425e5ed05f14ef501fd2326e79afd48ec2..3f944b9a64ff996e241d75808345b32d3e66808b 100644 --- a/library/driver/ethernet/patmos_tsn_mac.c +++ b/library/driver/ethernet/patmos_tsn_mac.c @@ -642,8 +642,12 @@ network_error_t tsn_mac_send_nb(network_frame_t *frame, mmio_ptr_t config_ptr) // adapt address and get next frame segment address += frame->header_length; - // write user data into buffer - mmio_wr_block(address, frame->user_data, frame->user_data_length); + // user data can be null sometimes with TCP frames + if(frame->user_data != NULL) + { + // write user data into buffer + mmio_wr_block(address, frame->user_data, frame->user_data_length); + } // enques the frame time_stamp_t dummy_ts;