Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8cc085c7aceb78d26d0a5355e111b2330f089161 Commit: 8cc085c7aceb78d26d0a5355e111b2330f089161 Parent: 8a5ed9efe661dd42bc140e522c2635e0d7b26141 Author: Al Viro <[EMAIL PROTECTED]> AuthorDate: Fri Dec 21 06:21:03 2007 +0000 Committer: Jeff Garzik <[EMAIL PROTECTED]> CommitDate: Sat Dec 22 22:53:06 2007 -0500
typhoon: memory corruptor on big-endian if TSO is enabled txlo_dma_addr should be host-endian; we pass it to typhoon_tso_fill(), which does arithmetics on it, converts to l-e and passes it to card. Unfortunately, we forgot le32_to_cpu() when initializing it from face->txLoAddr, which sits in shared memory and is little-endian. Signed-off-by: Al Viro <[EMAIL PROTECTED]> Signed-off-by: Jeff Garzik <[EMAIL PROTECTED]> --- drivers/net/typhoon.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/typhoon.c b/drivers/net/typhoon.c index 501abe3..2550d4c 100644 --- a/drivers/net/typhoon.c +++ b/drivers/net/typhoon.c @@ -1320,7 +1320,7 @@ typhoon_init_interface(struct typhoon *tp) tp->txLoRing.writeRegister = TYPHOON_REG_TX_LO_READY; tp->txHiRing.writeRegister = TYPHOON_REG_TX_HI_READY; - tp->txlo_dma_addr = iface->txLoAddr; + tp->txlo_dma_addr = le32_to_cpu(iface->txLoAddr); tp->card_state = Sleeping; smp_wmb(); - To unsubscribe from this list: send the line "unsubscribe git-commits-head" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html