@@ -306,13 +306,13 @@ static netdev_tx_t __ei_start_xmit(struct sk_buff *skb,
struct ei_device *ei_local = (struct ei_device *) netdev_priv(dev);
int send_length = skb->len, output_page;
unsigned long flags;
- char buf[ETH_ZLEN];
+ char buf[ETH_ZLEN+1];
char *data = skb->data;
- if (skb->len < ETH_ZLEN) {
- memset(buf, 0, ETH_ZLEN); /* more efficient than doing just the needed bits */
+ if (skb->len < ETH_ZLEN+1) {
+ memset(buf, 0, ETH_ZLEN+1); /* more efficient than doing just the needed bits */
memcpy(buf, data, skb->len);
- send_length = ETH_ZLEN;
+ send_length = ETH_ZLEN+1;
data = buf;
}