diff options
author | Francois Romieu <romieu@fr.zoreil.com> | 2009-08-13 07:18:14 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-08-13 07:18:14 +0200 |
commit | 839d1624b9dcf31fdc02e47359043bb7bd71d6ca (patch) | |
tree | dfad513ded1d7f88c3d946c5f56a8a7176f1b408 /drivers/net/8139cp.c | |
parent | Revert "libertas: Read buffer overflow" (diff) | |
download | linux-839d1624b9dcf31fdc02e47359043bb7bd71d6ca.tar.xz linux-839d1624b9dcf31fdc02e47359043bb7bd71d6ca.zip |
8139cp: balance dma_map_single vs dma_unmap_single pair
The driver always:
1. allocate cp->rx_buf_sz + NET_IP_ALIGN
2. map cp->rx_buf_sz
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r-- | drivers/net/8139cp.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/net/8139cp.c b/drivers/net/8139cp.c index 50efde11ea6c..d0dbbf39349a 100644 --- a/drivers/net/8139cp.c +++ b/drivers/net/8139cp.c @@ -515,7 +515,7 @@ rx_status_loop: dma_addr_t mapping; struct sk_buff *skb, *new_skb; struct cp_desc *desc; - unsigned buflen; + const unsigned buflen = cp->rx_buf_sz; skb = cp->rx_skb[rx_tail]; BUG_ON(!skb); @@ -549,8 +549,7 @@ rx_status_loop: pr_debug("%s: rx slot %d status 0x%x len %d\n", dev->name, rx_tail, status, len); - buflen = cp->rx_buf_sz + NET_IP_ALIGN; - new_skb = netdev_alloc_skb(dev, buflen); + new_skb = netdev_alloc_skb(dev, buflen + NET_IP_ALIGN); if (!new_skb) { dev->stats.rx_dropped++; goto rx_next; |