diff options
Diffstat (limited to 'drivers/net/3c505.c')
-rw-r--r-- | drivers/net/3c505.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/3c505.c b/drivers/net/3c505.c index 702bfb2a5e99..e985a85a5623 100644 --- a/drivers/net/3c505.c +++ b/drivers/net/3c505.c | |||
@@ -615,7 +615,6 @@ static void receive_packet(struct net_device *dev, int len) | |||
615 | if (test_and_set_bit(0, (void *) &adapter->dmaing)) | 615 | if (test_and_set_bit(0, (void *) &adapter->dmaing)) |
616 | printk(KERN_ERR "%s: rx blocked, DMA in progress, dir %d\n", dev->name, adapter->current_dma.direction); | 616 | printk(KERN_ERR "%s: rx blocked, DMA in progress, dir %d\n", dev->name, adapter->current_dma.direction); |
617 | 617 | ||
618 | skb->dev = dev; | ||
619 | adapter->current_dma.direction = 0; | 618 | adapter->current_dma.direction = 0; |
620 | adapter->current_dma.length = rlen; | 619 | adapter->current_dma.length = rlen; |
621 | adapter->current_dma.skb = skb; | 620 | adapter->current_dma.skb = skb; |
@@ -1026,7 +1025,7 @@ static int send_packet(struct net_device *dev, struct sk_buff *skb) | |||
1026 | adapter->current_dma.start_time = jiffies; | 1025 | adapter->current_dma.start_time = jiffies; |
1027 | 1026 | ||
1028 | if ((unsigned long)(skb->data + nlen) >= MAX_DMA_ADDRESS || nlen != skb->len) { | 1027 | if ((unsigned long)(skb->data + nlen) >= MAX_DMA_ADDRESS || nlen != skb->len) { |
1029 | memcpy(adapter->dma_buffer, skb->data, nlen); | 1028 | skb_copy_from_linear_data(skb, adapter->dma_buffer, nlen); |
1030 | memset(adapter->dma_buffer+skb->len, 0, nlen-skb->len); | 1029 | memset(adapter->dma_buffer+skb->len, 0, nlen-skb->len); |
1031 | target = isa_virt_to_bus(adapter->dma_buffer); | 1030 | target = isa_virt_to_bus(adapter->dma_buffer); |
1032 | } | 1031 | } |