From 534859e3c9ac81331b060428398866e729752196 Mon Sep 17 00:00:00 2001 From: Arnd Bergmann Date: Thu, 12 Jan 2006 17:16:43 -0500 Subject: [PATCH] --- yaml --- r: 18787 b: refs/heads/master c: 8e0a613bf61ccaab376877d7c2ed50315b8ca6d7 h: refs/heads/master i: 18785: 88e88e71ac2b634fb606778918e260efc3a9b134 18783: 72a6b55224ad52bf1ed9bf89825601e4b8d6b891 v: v3 --- [refs] | 2 +- trunk/drivers/net/spider_net.c | 13 ++++++++----- trunk/drivers/net/spider_net.h | 4 ++-- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index 53e2d89fc4ac..967aae992dfe 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 030d6753f8b6251927330431a7e5f0ac86bc6da9 +refs/heads/master: 8e0a613bf61ccaab376877d7c2ed50315b8ca6d7 diff --git a/trunk/drivers/net/spider_net.c b/trunk/drivers/net/spider_net.c index 94e238f6ed31..86969191c3f7 100644 --- a/trunk/drivers/net/spider_net.c +++ b/trunk/drivers/net/spider_net.c @@ -480,6 +480,7 @@ static int spider_net_prepare_rx_descr(struct spider_net_card *card, struct spider_net_descr *descr) { + dma_addr_t buf; int error = 0; int offset; int bufsize; @@ -510,10 +511,11 @@ spider_net_prepare_rx_descr(struct spider_net_card *card, if (offset) skb_reserve(descr->skb, SPIDER_NET_RXBUF_ALIGN - offset); /* io-mmu-map the skb */ - descr->buf_addr = pci_map_single(card->pdev, descr->skb->data, + buf = pci_map_single(card->pdev, descr->skb->data, SPIDER_NET_MAX_MTU, PCI_DMA_BIDIRECTIONAL); - if (descr->buf_addr == DMA_ERROR_CODE) { + descr->buf_addr = buf; + if (buf == DMA_ERROR_CODE) { dev_kfree_skb_any(descr->skb); if (netif_msg_rx_err(card)) pr_err("Could not iommu-map rx buffer\n"); @@ -914,15 +916,16 @@ spider_net_prepare_tx_descr(struct spider_net_card *card, struct spider_net_descr *descr, struct sk_buff *skb) { - descr->buf_addr = pci_map_single(card->pdev, skb->data, - skb->len, PCI_DMA_BIDIRECTIONAL); - if (descr->buf_addr == DMA_ERROR_CODE) { + dma_addr_t buf = pci_map_single(card->pdev, skb->data, + skb->len, PCI_DMA_BIDIRECTIONAL); + if (buf == DMA_ERROR_CODE) { if (netif_msg_tx_err(card)) pr_err("could not iommu-map packet (%p, %i). " "Dropping packet\n", skb->data, skb->len); return -ENOMEM; } + descr->buf_addr = buf; descr->buf_size = skb->len; descr->skb = skb; descr->data_status = 0; diff --git a/trunk/drivers/net/spider_net.h b/trunk/drivers/net/spider_net.h index 22b2f2347351..98f11ecf48fc 100644 --- a/trunk/drivers/net/spider_net.h +++ b/trunk/drivers/net/spider_net.h @@ -373,9 +373,9 @@ enum spider_net_descr_status { struct spider_net_descr { /* as defined by the hardware */ - dma_addr_t buf_addr; + u32 buf_addr; u32 buf_size; - dma_addr_t next_descr_addr; + u32 next_descr_addr; u32 dmac_cmd_status; u32 result_size; u32 valid_size; /* all zeroes for tx */