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

Reply via email to