fec: fix FEC driver packet transmission breakage
authorGreg Ungerer <gerg@snapgear.com>
Thu, 6 Aug 2009 17:58:18 +0000 (17:58 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 10 Aug 2009 04:45:33 +0000 (21:45 -0700)
commit9555b31e8c29d2000e1e1f569f6f242ebd596e47
treef12a6e5ac329c6059539a39e0cc4fce38afef8a3
parente84b90ae5eb3c112d1f208964df1d8156a538289
fec: fix FEC driver packet transmission breakage

Commit f0b3fbeae11a526c3d308b691684589ee37c359b ("FEC Buffer rework")
breaks transmission of packets where the skb data buffer is not memory
aligned according to FEC_ALIGNMENT. It incorrectly passes to
dma_sync_single() the buffer address directly from the skb, instead of
the address calculated for use (which may be the skb address or one of
the bounce buffers).

It seems there is no use converting the cpu address of the buffer to
a physical either, since dma_map_single() expects the cpu address and
will return the dma address to use in the descriptor. So remove the use
of __pa() on the buffer address as well.

This patch is against 2.6.30-rc5. This breakage is a regression over
2.6.30, which does not have this problem.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/fec.c