From 754cfdfcf42fe6e76dc5f5c4168f124990fa3b80 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Mon, 5 Jun 2006 16:10:36 +0000 Subject: [PATCH] Legacy drivers will not pad when necessary --- src/drivers/net/legacy.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/drivers/net/legacy.c b/src/drivers/net/legacy.c index 1b36c0de..6e9c8ae9 100644 --- a/src/drivers/net/legacy.c +++ b/src/drivers/net/legacy.c @@ -21,7 +21,11 @@ struct nic nic; static int legacy_transmit ( struct net_device *netdev, struct pk_buff *pkb ) { struct nic *nic = netdev->priv; struct ethhdr *ethhdr = pkb->data; + int pad_len; + pad_len = ( ETH_ZLEN - pkb_len ( pkb ) ); + if ( pad_len > 0 ) + memset ( pkb_put ( pkb, pad_len ), 0, pad_len ); pkb_pull ( pkb, sizeof ( *ethhdr ) ); nic->nic_op->transmit ( nic, ( const char * ) ethhdr->h_dest, ntohs ( ethhdr->h_protocol ),