summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2017-08-01 21:54:10 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2017-08-01 21:54:10 +0200
commit69af92a0ab9df5ebab1eb4bc69d83d89388e6ded (patch)
tree7b4b97c77bb6cb4912daa129e2bac2734b4dda5b /src
parenta132fee060fcc849fe59c622ef8010c83f8c041b (diff)
downloadabaos-69af92a0ab9df5ebab1eb4bc69d83d89388e6ded.tar.gz
abaos-69af92a0ab9df5ebab1eb4bc69d83d89388e6ded.tar.bz2
freeing network data in handler and printing CRC in rtl8139
Diffstat (limited to 'src')
-rw-r--r--src/drivers/net/rtl8139.c4
-rw-r--r--src/kernel/kernel.c3
2 files changed, 7 insertions, 0 deletions
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 );
}