diff options
Diffstat (limited to 'drivers/net/au1000_eth.c')
-rw-r--r-- | drivers/net/au1000_eth.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/au1000_eth.c b/drivers/net/au1000_eth.c index 69ae229b680e..d10fb80e9a63 100644 --- a/drivers/net/au1000_eth.c +++ b/drivers/net/au1000_eth.c | |||
@@ -1125,7 +1125,7 @@ static int au1000_tx(struct sk_buff *skb, struct net_device *dev) | |||
1125 | } | 1125 | } |
1126 | 1126 | ||
1127 | pDB = aup->tx_db_inuse[aup->tx_head]; | 1127 | pDB = aup->tx_db_inuse[aup->tx_head]; |
1128 | memcpy((void *)pDB->vaddr, skb->data, skb->len); | 1128 | skb_copy_from_linear_data(skb, pDB->vaddr, skb->len); |
1129 | if (skb->len < ETH_ZLEN) { | 1129 | if (skb->len < ETH_ZLEN) { |
1130 | for (i=skb->len; i<ETH_ZLEN; i++) { | 1130 | for (i=skb->len; i<ETH_ZLEN; i++) { |
1131 | ((char *)pDB->vaddr)[i] = 0; | 1131 | ((char *)pDB->vaddr)[i] = 0; |
@@ -1205,7 +1205,6 @@ static int au1000_rx(struct net_device *dev) | |||
1205 | aup->stats.rx_dropped++; | 1205 | aup->stats.rx_dropped++; |
1206 | continue; | 1206 | continue; |
1207 | } | 1207 | } |
1208 | skb->dev = dev; | ||
1209 | skb_reserve(skb, 2); /* 16 byte IP header align */ | 1208 | skb_reserve(skb, 2); /* 16 byte IP header align */ |
1210 | eth_copy_and_sum(skb, | 1209 | eth_copy_and_sum(skb, |
1211 | (unsigned char *)pDB->vaddr, frmlen, 0); | 1210 | (unsigned char *)pDB->vaddr, frmlen, 0); |