mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
[SK_BUFF]: Introduce skb_copy_to_linear_data{_offset}
To clearly state the intent of copying to linear sk_buffs, _offset being a overly long variant but interesting for the sake of saving some bytes. Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
This commit is contained in:
parent
3dbad80ac7
commit
27d7ff46a3
63 changed files with 185 additions and 127 deletions
|
|
@ -1904,10 +1904,10 @@ static __inline__ void wrap_copy(struct sk_buff *skb, const unsigned char *ring,
|
|||
u32 left = RX_BUF_LEN - offset;
|
||||
|
||||
if (size > left) {
|
||||
memcpy(skb->data, ring + offset, left);
|
||||
memcpy(skb->data+left, ring, size - left);
|
||||
skb_copy_to_linear_data(skb, ring + offset, left);
|
||||
skb_copy_to_linear_data_offset(skb, left, ring, size - left);
|
||||
} else
|
||||
memcpy(skb->data, ring + offset, size);
|
||||
skb_copy_to_linear_data(skb, ring + offset, size);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -774,7 +774,7 @@ static int sendup_buffer (struct net_device *dev)
|
|||
skb_pull(skb,3);
|
||||
|
||||
/* copy ddp(s,e)hdr + contents */
|
||||
memcpy(skb->data,(void*)ltdmabuf,len);
|
||||
skb_copy_to_linear_data(skb, ltdmabuf, len);
|
||||
|
||||
skb_reset_transport_header(skb);
|
||||
|
||||
|
|
|
|||
|
|
@ -550,7 +550,8 @@ bionet_poll_rx(struct net_device *dev) {
|
|||
|
||||
/* 'skb->data' points to the start of sk_buff data area.
|
||||
*/
|
||||
memcpy(skb->data, nic_packet->buffer, pkt_len);
|
||||
skb_copy_to_linear_data(skb, nic_packet->buffer,
|
||||
pkt_len);
|
||||
skb->protocol = eth_type_trans( skb, dev );
|
||||
netif_rx(skb);
|
||||
dev->last_rx = jiffies;
|
||||
|
|
|
|||
|
|
@ -793,7 +793,8 @@ pamsnet_poll_rx(struct net_device *dev) {
|
|||
|
||||
/* 'skb->data' points to the start of sk_buff data area.
|
||||
*/
|
||||
memcpy(skb->data, nic_packet->buffer, pkt_len);
|
||||
skb_copy_to_linear_data(skb, nic_packet->buffer,
|
||||
pkt_len);
|
||||
netif_rx(skb);
|
||||
dev->last_rx = jiffies;
|
||||
lp->stats.rx_packets++;
|
||||
|
|
|
|||
|
|
@ -2095,10 +2095,14 @@ static void espibug_workaround_t204(unsigned long data)
|
|||
0x0, 0x7, 0x43, 0x0, 0x0, 0x0
|
||||
};
|
||||
|
||||
memcpy(skb->data + sizeof(struct cpl_tx_pkt),
|
||||
ch_mac_addr, ETH_ALEN);
|
||||
memcpy(skb->data + skb->len - 10,
|
||||
ch_mac_addr, ETH_ALEN);
|
||||
skb_copy_to_linear_data_offset(skb,
|
||||
sizeof(struct cpl_tx_pkt),
|
||||
ch_mac_addr,
|
||||
ETH_ALEN);
|
||||
skb_copy_to_linear_data_offset(skb,
|
||||
skb->len - 10,
|
||||
ch_mac_addr,
|
||||
ETH_ALEN);
|
||||
skb->cb[0] = 0xff;
|
||||
}
|
||||
|
||||
|
|
@ -2125,10 +2129,14 @@ static void espibug_workaround(unsigned long data)
|
|||
if (!skb->cb[0]) {
|
||||
u8 ch_mac_addr[ETH_ALEN] =
|
||||
{0x0, 0x7, 0x43, 0x0, 0x0, 0x0};
|
||||
memcpy(skb->data + sizeof(struct cpl_tx_pkt),
|
||||
ch_mac_addr, ETH_ALEN);
|
||||
memcpy(skb->data + skb->len - 10, ch_mac_addr,
|
||||
ETH_ALEN);
|
||||
skb_copy_to_linear_data_offset(skb,
|
||||
sizeof(struct cpl_tx_pkt),
|
||||
ch_mac_addr,
|
||||
ETH_ALEN);
|
||||
skb_copy_to_linear_data_offset(skb,
|
||||
skb->len - 10,
|
||||
ch_mac_addr,
|
||||
ETH_ALEN);
|
||||
skb->cb[0] = 0xff;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -661,7 +661,7 @@ static inline struct sk_buff *get_imm_packet(const struct rsp_desc *resp)
|
|||
|
||||
if (skb) {
|
||||
__skb_put(skb, IMMED_PKT_SIZE);
|
||||
memcpy(skb->data, resp->imm_data, IMMED_PKT_SIZE);
|
||||
skb_copy_to_linear_data(skb, resp->imm_data, IMMED_PKT_SIZE);
|
||||
}
|
||||
return skb;
|
||||
}
|
||||
|
|
@ -1722,11 +1722,11 @@ static void skb_data_init(struct sk_buff *skb, struct sge_fl_page *p,
|
|||
{
|
||||
skb->len = len;
|
||||
if (len <= SKB_DATA_SIZE) {
|
||||
memcpy(skb->data, p->va, len);
|
||||
skb_copy_to_linear_data(skb, p->va, len);
|
||||
skb->tail += len;
|
||||
put_page(p->frag.page);
|
||||
} else {
|
||||
memcpy(skb->data, p->va, SKB_DATA_SIZE);
|
||||
skb_copy_to_linear_data(skb, p->va, SKB_DATA_SIZE);
|
||||
skb_shinfo(skb)->frags[0].page = p->frag.page;
|
||||
skb_shinfo(skb)->frags[0].page_offset =
|
||||
p->frag.page_offset + SKB_DATA_SIZE;
|
||||
|
|
|
|||
|
|
@ -3091,7 +3091,9 @@ static void dfx_rcv_queue_process(
|
|||
{
|
||||
/* Receive buffer allocated, pass receive packet up */
|
||||
|
||||
memcpy(skb->data, p_buff + RCV_BUFF_K_PADDING, pkt_len+3);
|
||||
skb_copy_to_linear_data(skb,
|
||||
p_buff + RCV_BUFF_K_PADDING,
|
||||
pkt_len + 3);
|
||||
}
|
||||
|
||||
skb_reserve(skb,3); /* adjust data field so that it points to FC byte */
|
||||
|
|
|
|||
|
|
@ -1769,7 +1769,7 @@ static int e100_rx_alloc_skb(struct nic *nic, struct rx *rx)
|
|||
|
||||
/* Align, init, and map the RFD. */
|
||||
skb_reserve(rx->skb, NET_IP_ALIGN);
|
||||
memcpy(rx->skb->data, &nic->blank_rfd, sizeof(struct rfd));
|
||||
skb_copy_to_linear_data(rx->skb, &nic->blank_rfd, sizeof(struct rfd));
|
||||
rx->dma_addr = pci_map_single(nic->pdev, rx->skb->data,
|
||||
RFD_BUF_LEN, PCI_DMA_BIDIRECTIONAL);
|
||||
|
||||
|
|
|
|||
|
|
@ -4224,9 +4224,12 @@ e1000_clean_rx_irq(struct e1000_adapter *adapter,
|
|||
netdev_alloc_skb(netdev, length + NET_IP_ALIGN);
|
||||
if (new_skb) {
|
||||
skb_reserve(new_skb, NET_IP_ALIGN);
|
||||
memcpy(new_skb->data - NET_IP_ALIGN,
|
||||
skb->data - NET_IP_ALIGN,
|
||||
length + NET_IP_ALIGN);
|
||||
skb_copy_to_linear_data_offset(new_skb,
|
||||
-NET_IP_ALIGN,
|
||||
(skb->data -
|
||||
NET_IP_ALIGN),
|
||||
(length +
|
||||
NET_IP_ALIGN));
|
||||
/* save the skb in buffer_info as good */
|
||||
buffer_info->skb = skb;
|
||||
skb = new_skb;
|
||||
|
|
|
|||
|
|
@ -391,8 +391,8 @@ static int ehea_poll(struct net_device *dev, int *budget)
|
|||
if (!skb)
|
||||
break;
|
||||
}
|
||||
memcpy(skb->data, ((char*)cqe) + 64,
|
||||
cqe->num_bytes_transfered - 4);
|
||||
skb_copy_to_linear_data(skb, ((char*)cqe) + 64,
|
||||
cqe->num_bytes_transfered - 4);
|
||||
ehea_fill_skb(dev, skb, cqe);
|
||||
} else if (rq == 2) { /* RQ2 */
|
||||
skb = get_skb_by_index(skb_arr_rq2,
|
||||
|
|
|
|||
|
|
@ -1923,7 +1923,7 @@ static int ali_ircc_dma_receive_complete(struct ali_ircc_cb *self)
|
|||
|
||||
/* Copy frame without CRC, CRC is removed by hardware*/
|
||||
skb_put(skb, len);
|
||||
memcpy(skb->data, self->rx_buff.data, len);
|
||||
skb_copy_to_linear_data(skb, self->rx_buff.data, len);
|
||||
|
||||
/* Move to next frame */
|
||||
self->rx_buff.data += len;
|
||||
|
|
|
|||
|
|
@ -604,7 +604,7 @@ static int au1k_irda_rx(struct net_device *dev)
|
|||
skb_put(skb, count);
|
||||
else
|
||||
skb_put(skb, count-2);
|
||||
memcpy(skb->data, (void *)pDB->vaddr, count-2);
|
||||
skb_copy_to_linear_data(skb, pDB->vaddr, count - 2);
|
||||
skb->dev = dev;
|
||||
skb_reset_mac_header(skb);
|
||||
skb->protocol = htons(ETH_P_IRDA);
|
||||
|
|
|
|||
|
|
@ -1282,8 +1282,8 @@ dumpbufs(self->rx_bufs[self->rxs],len,'<');
|
|||
skb_reserve (skb, 1);
|
||||
|
||||
skb_put (skb, len);
|
||||
memcpy (skb->data, self->rx_bufs[self->rxs], len);
|
||||
|
||||
skb_copy_to_linear_data(skb, self->rx_bufs[self->rxs],
|
||||
len);
|
||||
self->stats.rx_packets++;
|
||||
skb->dev = self->netdev;
|
||||
skb_reset_mac_header(skb);
|
||||
|
|
|
|||
|
|
@ -426,7 +426,7 @@ static void mcs_unwrap_mir(struct mcs_cb *mcs, __u8 *buf, int len)
|
|||
}
|
||||
|
||||
skb_reserve(skb, 1);
|
||||
memcpy(skb->data, buf, new_len);
|
||||
skb_copy_to_linear_data(skb, buf, new_len);
|
||||
skb_put(skb, new_len);
|
||||
skb_reset_mac_header(skb);
|
||||
skb->protocol = htons(ETH_P_IRDA);
|
||||
|
|
@ -479,7 +479,7 @@ static void mcs_unwrap_fir(struct mcs_cb *mcs, __u8 *buf, int len)
|
|||
}
|
||||
|
||||
skb_reserve(skb, 1);
|
||||
memcpy(skb->data, buf, new_len);
|
||||
skb_copy_to_linear_data(skb, buf, new_len);
|
||||
skb_put(skb, new_len);
|
||||
skb_reset_mac_header(skb);
|
||||
skb->protocol = htons(ETH_P_IRDA);
|
||||
|
|
|
|||
|
|
@ -1868,10 +1868,14 @@ static int nsc_ircc_dma_receive_complete(struct nsc_ircc_cb *self, int iobase)
|
|||
/* Copy frame without CRC */
|
||||
if (self->io.speed < 4000000) {
|
||||
skb_put(skb, len-2);
|
||||
memcpy(skb->data, self->rx_buff.data, len-2);
|
||||
skb_copy_to_linear_data(skb,
|
||||
self->rx_buff.data,
|
||||
len - 2);
|
||||
} else {
|
||||
skb_put(skb, len-4);
|
||||
memcpy(skb->data, self->rx_buff.data, len-4);
|
||||
skb_copy_to_linear_data(skb,
|
||||
self->rx_buff.data,
|
||||
len - 4);
|
||||
}
|
||||
|
||||
/* Move to next frame */
|
||||
|
|
|
|||
|
|
@ -386,7 +386,7 @@ static void pxa_irda_fir_irq_eif(struct pxa_irda *si, struct net_device *dev, in
|
|||
|
||||
/* Align IP header to 20 bytes */
|
||||
skb_reserve(skb, 1);
|
||||
memcpy(skb->data, si->dma_rx_buff, len);
|
||||
skb_copy_to_linear_data(skb, si->dma_rx_buff, len);
|
||||
skb_put(skb, len);
|
||||
|
||||
/* Feed it to IrLAP */
|
||||
|
|
|
|||
|
|
@ -348,7 +348,7 @@ static void fir_eof(struct stir_cb *stir)
|
|||
}
|
||||
skb_reserve(nskb, 1);
|
||||
skb = nskb;
|
||||
memcpy(nskb->data, rx_buff->data, len);
|
||||
skb_copy_to_linear_data(nskb, rx_buff->data, len);
|
||||
} else {
|
||||
nskb = dev_alloc_skb(rx_buff->truesize);
|
||||
if (unlikely(!nskb)) {
|
||||
|
|
|
|||
|
|
@ -1189,7 +1189,7 @@ F01_E */
|
|||
skb_reserve(skb, 1);
|
||||
skb_put(skb, len - 4);
|
||||
|
||||
memcpy(skb->data, self->rx_buff.data, len - 4);
|
||||
skb_copy_to_linear_data(skb, self->rx_buff.data, len - 4);
|
||||
IRDA_DEBUG(2, "%s(): len=%x.rx_buff=%p\n", __FUNCTION__,
|
||||
len - 4, self->rx_buff.data);
|
||||
|
||||
|
|
@ -1234,7 +1234,7 @@ static int upload_rxdata(struct via_ircc_cb *self, int iobase)
|
|||
}
|
||||
skb_reserve(skb, 1);
|
||||
skb_put(skb, len - 4 + 1);
|
||||
memcpy(skb->data, self->rx_buff.data, len - 4 + 1);
|
||||
skb_copy_to_linear_data(skb, self->rx_buff.data, len - 4 + 1);
|
||||
st_fifo->tail++;
|
||||
st_fifo->len++;
|
||||
if (st_fifo->tail > MAX_RX_WINDOW)
|
||||
|
|
@ -1303,7 +1303,7 @@ static int RxTimerHandler(struct via_ircc_cb *self, int iobase)
|
|||
}
|
||||
skb_reserve(skb, 1);
|
||||
skb_put(skb, len - 4);
|
||||
memcpy(skb->data, self->rx_buff.data, len - 4);
|
||||
skb_copy_to_linear_data(skb, self->rx_buff.data, len - 4);
|
||||
|
||||
IRDA_DEBUG(2, "%s(): len=%x.head=%x\n", __FUNCTION__,
|
||||
len - 4, st_fifo->head);
|
||||
|
|
|
|||
|
|
@ -908,10 +908,14 @@ int w83977af_dma_receive_complete(struct w83977af_ir *self)
|
|||
/* Copy frame without CRC */
|
||||
if (self->io.speed < 4000000) {
|
||||
skb_put(skb, len-2);
|
||||
memcpy(skb->data, self->rx_buff.data, len-2);
|
||||
skb_copy_to_linear_data(skb,
|
||||
self->rx_buff.data,
|
||||
len - 2);
|
||||
} else {
|
||||
skb_put(skb, len-4);
|
||||
memcpy(skb->data, self->rx_buff.data, len-4);
|
||||
skb_copy_to_linear_data(skb,
|
||||
self->rx_buff.data,
|
||||
len - 4);
|
||||
}
|
||||
|
||||
/* Move to next frame */
|
||||
|
|
|
|||
|
|
@ -2017,9 +2017,12 @@ ixgb_clean_rx_irq(struct ixgb_adapter *adapter)
|
|||
netdev_alloc_skb(netdev, length + NET_IP_ALIGN);
|
||||
if (new_skb) {
|
||||
skb_reserve(new_skb, NET_IP_ALIGN);
|
||||
memcpy(new_skb->data - NET_IP_ALIGN,
|
||||
skb->data - NET_IP_ALIGN,
|
||||
length + NET_IP_ALIGN);
|
||||
skb_copy_to_linear_data_offset(new_skb,
|
||||
-NET_IP_ALIGN,
|
||||
(skb->data -
|
||||
NET_IP_ALIGN),
|
||||
(length +
|
||||
NET_IP_ALIGN));
|
||||
/* save the skb in buffer_info as good */
|
||||
buffer_info->skb = skb;
|
||||
skb = new_skb;
|
||||
|
|
|
|||
|
|
@ -94,7 +94,8 @@ static void emulate_large_send_offload(struct sk_buff *skb)
|
|||
skb_set_mac_header(nskb, -ETH_HLEN);
|
||||
skb_reset_network_header(nskb);
|
||||
iph = ip_hdr(nskb);
|
||||
memcpy(nskb->data, skb_network_header(skb), doffset);
|
||||
skb_copy_to_linear_data(nskb, skb_network_header(skb),
|
||||
doffset);
|
||||
if (skb_copy_bits(skb,
|
||||
doffset + offset,
|
||||
nskb->data + doffset,
|
||||
|
|
|
|||
|
|
@ -367,9 +367,10 @@ static int macb_rx_frame(struct macb *bp, unsigned int first_frag,
|
|||
BUG_ON(frag != last_frag);
|
||||
frag_len = len - offset;
|
||||
}
|
||||
memcpy(skb->data + offset,
|
||||
bp->rx_buffers + (RX_BUFFER_SIZE * frag),
|
||||
frag_len);
|
||||
skb_copy_to_linear_data_offset(skb, offset,
|
||||
(bp->rx_buffers +
|
||||
(RX_BUFFER_SIZE * frag)),
|
||||
frag_len);
|
||||
offset += RX_BUFFER_SIZE;
|
||||
bp->rx_ring[frag].addr &= ~MACB_BIT(RX_USED);
|
||||
wmb();
|
||||
|
|
|
|||
|
|
@ -879,7 +879,7 @@ myri10ge_rx_skb_build(struct sk_buff *skb, u8 * va,
|
|||
* skb_pull() (for ether_pad and eth_type_trans()) requires
|
||||
* the beginning of the packet in skb_headlen(), move it
|
||||
* manually */
|
||||
memcpy(skb->data, va, hlen);
|
||||
skb_copy_to_linear_data(skb, va, hlen);
|
||||
skb_shinfo(skb)->frags[0].page_offset += hlen;
|
||||
skb_shinfo(skb)->frags[0].size -= hlen;
|
||||
skb->data_len -= hlen;
|
||||
|
|
|
|||
|
|
@ -2127,7 +2127,7 @@ rx_start:
|
|||
(dma_addr_t) PhysAddr,
|
||||
FrameLength,
|
||||
PCI_DMA_FROMDEVICE);
|
||||
memcpy(pNewMsg->data, pMsg, FrameLength);
|
||||
skb_copy_to_linear_data(pNewMsg, pMsg, FrameLength);
|
||||
|
||||
pci_dma_sync_single_for_device(pAC->PciDev,
|
||||
(dma_addr_t) PhysAddr,
|
||||
|
|
|
|||
|
|
@ -1937,7 +1937,7 @@ int mac_drv_rx_init(struct s_smc *smc, int len, int fc,
|
|||
}
|
||||
skb_reserve(skb, 3);
|
||||
skb_put(skb, len);
|
||||
memcpy(skb->data, look_ahead, len);
|
||||
skb_copy_to_linear_data(skb, look_ahead, len);
|
||||
|
||||
// deliver frame to system
|
||||
skb->protocol = fddi_type_trans(skb, smc->os.dev);
|
||||
|
|
|
|||
|
|
@ -853,7 +853,7 @@ static int lance_rx( struct net_device *dev )
|
|||
|
||||
skb_reserve( skb, 2 ); /* 16 byte align */
|
||||
skb_put( skb, pkt_len ); /* Make room */
|
||||
// memcpy( skb->data, PKTBUF_ADDR(head), pkt_len );
|
||||
// skb_copy_to_linear_data(skb, PKTBUF_ADDR(head), pkt_len);
|
||||
eth_copy_and_sum(skb,
|
||||
PKTBUF_ADDR(head),
|
||||
pkt_len, 0);
|
||||
|
|
|
|||
|
|
@ -3889,7 +3889,7 @@ static int smctr_process_rx_packet(MAC_HEADER *rmf, __u16 size,
|
|||
|
||||
/* Slide data into a sleek skb. */
|
||||
skb_put(skb, skb->len);
|
||||
memcpy(skb->data, rmf, skb->len);
|
||||
skb_copy_to_linear_data(skb, rmf, skb->len);
|
||||
|
||||
/* Update Counters */
|
||||
tp->MacStat.rx_packets++;
|
||||
|
|
@ -4475,7 +4475,7 @@ static int smctr_rx_frame(struct net_device *dev)
|
|||
if (skb) {
|
||||
skb_put(skb, rx_size);
|
||||
|
||||
memcpy(skb->data, pbuff, rx_size);
|
||||
skb_copy_to_linear_data(skb, pbuff, rx_size);
|
||||
|
||||
/* Update Counters */
|
||||
tp->MacStat.rx_packets++;
|
||||
|
|
|
|||
|
|
@ -2178,7 +2178,8 @@ static void tms380tr_rcv_status_irq(struct net_device *dev)
|
|||
|| rpl->SkbStat == SKB_DMA_DIRECT))
|
||||
{
|
||||
if(rpl->SkbStat == SKB_DATA_COPY)
|
||||
memcpy(skb->data, ReceiveDataPtr, Length);
|
||||
skb_copy_to_linear_data(skb, ReceiveDataPtr,
|
||||
Length);
|
||||
|
||||
/* Deliver frame to system */
|
||||
rpl->Skb = NULL;
|
||||
|
|
|
|||
|
|
@ -1904,7 +1904,8 @@ static struct sk_buff *dscc4_init_dummy_skb(struct dscc4_dev_priv *dpriv)
|
|||
struct TxFD *tx_fd = dpriv->tx_fd + last;
|
||||
|
||||
skb->len = DUMMY_SKB_SIZE;
|
||||
memcpy(skb->data, version, strlen(version)%DUMMY_SKB_SIZE);
|
||||
skb_copy_to_linear_data(skb, version,
|
||||
strlen(version) % DUMMY_SKB_SIZE);
|
||||
tx_fd->state = FrameEnd | TO_STATE_TX(DUMMY_SKB_SIZE);
|
||||
tx_fd->data = pci_map_single(dpriv->pci_priv->pdev, skb->data,
|
||||
DUMMY_SKB_SIZE, PCI_DMA_TODEVICE);
|
||||
|
|
|
|||
|
|
@ -1759,7 +1759,7 @@ cpc_trace(struct net_device *dev, struct sk_buff *skb_main, char rx_tx)
|
|||
skb->pkt_type = PACKET_HOST;
|
||||
skb->len = 10 + skb_main->len;
|
||||
|
||||
memcpy(skb->data, dev->name, 5);
|
||||
skb_copy_to_linear_data(skb, dev->name, 5);
|
||||
skb->data[5] = '[';
|
||||
skb->data[6] = rx_tx;
|
||||
skb->data[7] = ']';
|
||||
|
|
|
|||
|
|
@ -1007,13 +1007,13 @@ static void cpc_tty_trace(pc300dev_t *dev, char* buf, int len, char rxtx)
|
|||
skb->pkt_type = PACKET_HOST;
|
||||
skb->len = 10 + len;
|
||||
|
||||
memcpy(skb->data,dev->dev->name,5);
|
||||
skb_copy_to_linear_data(skb, dev->dev->name, 5);
|
||||
skb->data[5] = '[';
|
||||
skb->data[6] = rxtx;
|
||||
skb->data[7] = ']';
|
||||
skb->data[8] = ':';
|
||||
skb->data[9] = ' ';
|
||||
memcpy(&skb->data[10], buf, len);
|
||||
skb_copy_to_linear_data_offset(skb, 10, buf, len);
|
||||
netif_rx(skb);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1656,7 +1656,7 @@ static void z8530_rx_done(struct z8530_channel *c)
|
|||
else
|
||||
{
|
||||
skb_put(skb, ct);
|
||||
memcpy(skb->data, rxb, ct);
|
||||
skb_copy_to_linear_data(skb, rxb, ct);
|
||||
c->stats.rx_packets++;
|
||||
c->stats.rx_bytes+=ct;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -136,7 +136,7 @@ islpci_eth_transmit(struct sk_buff *skb, struct net_device *ndev)
|
|||
printk("islpci_eth_transmit:wds_mac\n");
|
||||
#endif
|
||||
memmove(skb->data + 6, src, skb->len);
|
||||
memcpy(skb->data, wds_mac, 6);
|
||||
skb_copy_to_linear_data(skb, wds_mac, 6);
|
||||
} else {
|
||||
memmove(skb->data, src, skb->len);
|
||||
}
|
||||
|
|
@ -165,7 +165,7 @@ islpci_eth_transmit(struct sk_buff *skb, struct net_device *ndev)
|
|||
skb_copy_from_linear_data(skb,
|
||||
newskb->data + 6,
|
||||
skb->len);
|
||||
memcpy(newskb->data, wds_mac, 6);
|
||||
skb_copy_to_linear_data(newskb, wds_mac, 6);
|
||||
#ifdef ISLPCI_ETH_DEBUG
|
||||
printk("islpci_eth_transmit:wds_mac\n");
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in a new issue