|
@@ -1127,11 +1127,8 @@ static void sh_eth_ring_format(struct net_device *ndev)
|
|
|
break;
|
|
|
sh_eth_set_receive_align(skb);
|
|
|
|
|
|
- /* RX descriptor */
|
|
|
- rxdesc = &mdp->rx_ring[i];
|
|
|
/* The size of the buffer is a multiple of 32 bytes. */
|
|
|
buf_len = ALIGN(mdp->rx_buf_sz, 32);
|
|
|
- rxdesc->len = cpu_to_le32(buf_len << 16);
|
|
|
dma_addr = dma_map_single(&ndev->dev, skb->data, buf_len,
|
|
|
DMA_FROM_DEVICE);
|
|
|
if (dma_mapping_error(&ndev->dev, dma_addr)) {
|
|
@@ -1139,6 +1136,10 @@ static void sh_eth_ring_format(struct net_device *ndev)
|
|
|
break;
|
|
|
}
|
|
|
mdp->rx_skbuff[i] = skb;
|
|
|
+
|
|
|
+ /* RX descriptor */
|
|
|
+ rxdesc = &mdp->rx_ring[i];
|
|
|
+ rxdesc->len = cpu_to_le32(buf_len << 16);
|
|
|
rxdesc->addr = cpu_to_le32(dma_addr);
|
|
|
rxdesc->status = cpu_to_le32(RD_RACT | RD_RFP);
|
|
|
|