summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/net/netdevice.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/net/netdevice.c b/src/net/netdevice.c
index be3d1ffee..2827775b9 100644
--- a/src/net/netdevice.c
+++ b/src/net/netdevice.c
@@ -91,6 +91,10 @@ int netdev_tx ( struct net_device *netdev, struct pk_buff *pkb ) {
void netdev_tx_complete ( struct net_device *netdev, struct pk_buff *pkb ) {
DBGC ( netdev, "NETDEV %p transmission %p complete\n", netdev, pkb );
+ /* Catch data corruption as early as possible */
+ assert ( pkb->list.next != NULL );
+ assert ( pkb->list.prev != NULL );
+
list_del ( &pkb->list );
free_pkb ( pkb );
}