summaryrefslogtreecommitdiffstats
path: root/sys/dev/ste/if_ste.c
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2010-01-08 02:43:20 +0000
committeryongari <yongari@FreeBSD.org>2010-01-08 02:43:20 +0000
commite75e4842d31f829aa3315512f6ee6851f9622e5e (patch)
treeb91a1bfa691ad9477822a1bc92515f338d4a8467 /sys/dev/ste/if_ste.c
parent50b787cde8775602794a6b0678cbabed5029d816 (diff)
downloadFreeBSD-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.c10
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)));
}
}
OpenPOWER on IntegriCloud