--- linux/drivers/net/eexpress.c 2002-11-29 00:53:13.000000000 +0100 +++ linux.new/drivers/net/eexpress.c 2003-01-10 13:23:01.000000000 +0100 @@ -660,10 +654,16 @@ #endif { - unsigned short length = (ETH_ZLEN < buf->len) ? buf->len : - ETH_ZLEN; + unsigned short length; unsigned short *data = (unsigned short *)buf->data; + if (ETH_ZLEN < buf->len) { + length = buf->len; + } else { + length = ETH_ZLEN; + memset(data + buf->len, 0, length - buf->len); + } + lp->stats.tx_bytes += length; eexp_hw_tx_pio(dev,data,length);