diff options
author | Divy Le Ray <divy@chelsio.com> | 2009-05-28 11:23:02 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-05-29 01:54:37 -0700 |
commit | 10b6d95612672f89deb39b5a60fb677c78ba4844 (patch) | |
tree | 5b853a9db086d4c0894d93f54e5bf666f0b8fa70 /drivers/net/cxgb3/adapter.h | |
parent | 4d3383d0adb6d1047fb9ee3edd9dc05e4d2184f0 (diff) | |
download | op-kernel-dev-10b6d95612672f89deb39b5a60fb677c78ba4844.zip op-kernel-dev-10b6d95612672f89deb39b5a60fb677c78ba4844.tar.gz |
cxgb3: fix dma mapping regression
Commit 5e68b772e6efd189d6aca76f6872fb75d51ace60
cxgb3: map entire Rx page, feed map+offset to Rx ring.
introduced a regression on platforms defining DECLARE_PCI_UNMAP_ADDR()
and related macros as no-ops.
Rx descriptors are fed with the a page buffer bus address + page chunk offset.
The page buffer bus address is set and retrieved through
pci_unamp_addr_set(), pci_unmap_addr().
These functions being meaningless on x86 (if CONFIG_DMA_API_DEBUG is not set).
The HW ends up with a bogus bus address.
This patch saves the page buffer bus address for all plaftorms.
Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/cxgb3/adapter.h')
-rw-r--r-- | drivers/net/cxgb3/adapter.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/cxgb3/adapter.h b/drivers/net/cxgb3/adapter.h index 714df2b..c888e97 100644 --- a/drivers/net/cxgb3/adapter.h +++ b/drivers/net/cxgb3/adapter.h @@ -85,8 +85,8 @@ struct fl_pg_chunk { struct page *page; void *va; unsigned int offset; - u64 *p_cnt; - DECLARE_PCI_UNMAP_ADDR(mapping); + unsigned long *p_cnt; + dma_addr_t mapping; }; struct rx_desc; |