summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/drivers/net/pnic.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/drivers/net/pnic.c b/src/drivers/net/pnic.c
index efb3c6f4c..ad98c6092 100644
--- a/src/drivers/net/pnic.c
+++ b/src/drivers/net/pnic.c
@@ -147,9 +147,17 @@ TRANSMIT - Transmit a frame
***************************************************************************/
static int pnic_transmit ( struct net_device *netdev, struct pk_buff *pkb ) {
struct pnic *pnic = netdev->priv;
+ int pad_len;
+ /* Pad to minimum packet length */
+ pad_len = ( ETH_ZLEN - pkb_len ( pkb ) );
+ if ( pad_len > 0 )
+ memset ( pkb_put ( pkb, pad_len ), 0, pad_len );
+
+ /* Send packet */
pnic_command ( pnic, PNIC_CMD_XMIT, pkb->data, pkb_len ( pkb ),
NULL, 0, NULL );
+
free_pkb ( pkb );
return 0;
}