diff options
author | yongari <yongari@FreeBSD.org> | 2010-01-08 02:43:20 +0000 |
---|---|---|
committer | yongari <yongari@FreeBSD.org> | 2010-01-08 02:43:20 +0000 |
commit | e75e4842d31f829aa3315512f6ee6851f9622e5e (patch) | |
tree | b91a1bfa691ad9477822a1bc92515f338d4a8467 /sys/dev/ste/if_ste.c | |
parent | 50b787cde8775602794a6b0678cbabed5029d816 (diff) | |
download | FreeBSD-src-e75e4842d31f829aa3315512f6ee6851f9622e5e.zip FreeBSD-src-e75e4842d31f829aa3315512f6ee6851f9622e5e.tar.gz |
Make sure to store dma address of RX buffer in little endian form.
This fixes the last bug which keeps ste(4) from working on sparc64.
Diffstat (limited to 'sys/dev/ste/if_ste.c')
-rw-r--r-- | sys/dev/ste/if_ste.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/dev/ste/if_ste.c b/sys/dev/ste/if_ste.c index cad1fde..78c0290 100644 --- a/sys/dev/ste/if_ste.c +++ b/sys/dev/ste/if_ste.c @@ -1573,12 +1573,14 @@ ste_init_rx_list(struct ste_softc *sc) return (error); if (i == (STE_RX_LIST_CNT - 1)) { cd->ste_rx_chain[i].ste_next = &cd->ste_rx_chain[0]; - ld->ste_rx_list[i].ste_next = ld->ste_rx_list_paddr + - (sizeof(struct ste_desc_onefrag) * 0); + ld->ste_rx_list[i].ste_next = + htole32(ld->ste_rx_list_paddr + + (sizeof(struct ste_desc_onefrag) * 0)); } else { cd->ste_rx_chain[i].ste_next = &cd->ste_rx_chain[i + 1]; - ld->ste_rx_list[i].ste_next = ld->ste_rx_list_paddr + - (sizeof(struct ste_desc_onefrag) * (i + 1)); + ld->ste_rx_list[i].ste_next = + htole32(ld->ste_rx_list_paddr + + (sizeof(struct ste_desc_onefrag) * (i + 1))); } } |