From 69af92a0ab9df5ebab1eb4bc69d83d89388e6ded Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Tue, 1 Aug 2017 21:54:10 +0200 Subject: freeing network data in handler and printing CRC in rtl8139 --- src/drivers/net/rtl8139.c | 4 ++++ src/kernel/kernel.c | 3 +++ 2 files changed, 7 insertions(+) (limited to 'src') diff --git a/src/drivers/net/rtl8139.c b/src/drivers/net/rtl8139.c index 34f273c..08c2b1a 100644 --- a/src/drivers/net/rtl8139.c +++ b/src/drivers/net/rtl8139.c @@ -266,6 +266,10 @@ static void handle_receive_packet( rtl8139_t *rtl8139 ) printf( "%X ", rtl8139->receive_buffer[rtl8139->receive_buffer_pos+i] ); } puts( "" ); + printf( "rtl8139: CRC: " ); + for( int i = len; i < len + 4; i++ ) { + printf( "%X ", rtl8139->receive_buffer[rtl8139->receive_buffer_pos+i] ); + } #endif // copy data for the handler of the network event diff --git a/src/kernel/kernel.c b/src/kernel/kernel.c index 23a8d72..4b2990d 100644 --- a/src/kernel/kernel.c +++ b/src/kernel/kernel.c @@ -453,4 +453,7 @@ void __stack_chk_fail( void ) void handle_network_event( network_event_t *event, void *context ) { printf( "NETWORK DATA: len: %d\n", event->length ); + + // we must free if data if we no longer need it + free( event->data ); } -- cgit v1.2.3-54-g00ecf