diff --git a/source/portable/NetworkInterface/NXP1060/NetworkInterface.c b/source/portable/NetworkInterface/NXP1060/NetworkInterface.c index 01784885a6..e2b8ea0a8a 100644 --- a/source/portable/NetworkInterface/NXP1060/NetworkInterface.c +++ b/source/portable/NetworkInterface/NXP1060/NetworkInterface.c @@ -347,6 +347,11 @@ static BaseType_t prvNXP1060_NetworkInterfaceInitialise( NetworkInterface_t * px if( xStatus != kStatus_Success ) { + if( !xFirstCall ) + { + xTaskNotify( receiveTaskHandle, DRIVER_READY, eSetValueWithOverwrite ); + } + break; } else @@ -370,7 +375,7 @@ static BaseType_t prvNXP1060_NetworkInterfaceInitialise( NetworkInterface_t * px xTaskCreated = xTaskCreate( prvEMACHandlerTask, "EMAC-Handler", configMINIMAL_STACK_SIZE * 3, - NULL, + pxInterface, configMAX_PRIORITIES - 1, &receiveTaskHandle ); @@ -505,7 +510,7 @@ static void prvEMACHandlerTask( void * parameter ) if( ulTaskNotifyTake( pdTRUE, pdMS_TO_TICKS( 500 ) ) == pdFALSE ) { /* No RX packets for a bit so check for a link. */ - const IPStackEvent_t xNetworkEventDown = { .eEventType = eNetworkDownEvent, .pvData = NULL }; + const IPStackEvent_t xNetworkEventDown = { .eEventType = eNetworkDownEvent, .pvData = parameter }; do { @@ -568,13 +573,13 @@ static void prvEMACHandlerTask( void * parameter ) break; case kStatus_ENET_RxFrameError: /* Received an error frame. Read & drop it */ - PRINTF( "RX Receive Error\n" ); + FreeRTOS_printf( ( "RX Receive Error\n" ) ); ENET_ReadFrame( ethernetifLocal->base, &( ethernetifLocal->handle ), NULL, 0, 0, NULL ); /* Not sure if a trace is required. The MAC had an error and needed to dump bytes */ break; default: - PRINTF( "RX Receive default" ); + FreeRTOS_printf( ( "RX Receive default" ) ); break; } }