Index: mpt_cam.c =================================================================== RCS file: /home/kmacy/freebsd/kmacy/ncvs/src/sys/dev/mpt/mpt_cam.c,v retrieving revision 1.41 diff -d -u -r1.41 mpt_cam.c --- mpt_cam.c 19 Nov 2006 23:13:12 -0000 1.41 +++ mpt_cam.c 28 Nov 2006 07:12:26 -0000 @@ -1094,10 +1094,8 @@ uint32_t tf; memset(se, 0, sizeof (*se)); - se->Address.Low = htole32(dm_segs->ds_addr & 0xffffffff); - if (sizeof(bus_addr_t) > 4) { - se->Address.High = ((uint64_t) dm_segs->ds_addr) >> 32; - } + se->Address.Low = htole32((uint32_t)dm_segs->ds_addr); + se->Address.High = htole32((uint32_t)((uint64_t)dm_segs->ds_addr >> 32)); MPI_pSGE_SET_LENGTH(se, dm_segs->ds_len); tf = flags; if (seg == first_lim - 1) { @@ -1169,10 +1167,8 @@ */ chain_list_addr = trq->req_pbuf; chain_list_addr += cur_off; - if (sizeof (bus_addr_t) > 4) { - ce->Address.High = - htole32((uint32_t) ((uint64_t)chain_list_addr >> 32)); - } + ce->Address.High = + htole32((uint32_t) ((uint64_t)chain_list_addr >> 32)); ce->Address.Low = htole32((uint32_t) chain_list_addr); ce->Flags = MPI_SGE_FLAGS_CHAIN_ELEMENT | MPI_SGE_FLAGS_64_BIT_ADDRESSING; @@ -1210,11 +1206,9 @@ */ while (seg < this_seg_lim) { memset(se, 0, sizeof (*se)); - se->Address.Low = htole32(dm_segs->ds_addr); - if (sizeof (bus_addr_t) > 4) { - se->Address.High = - htole32(((uint64_t)dm_segs->ds_addr) >> 32); - } + se->Address.Low = htole32((uint32_t)dm_segs->ds_addr); + se->Address.High = + htole32((uint32_t)((uint64_t)dm_segs->ds_addr >> 32)); MPI_pSGE_SET_LENGTH(se, dm_segs->ds_len); tf = flags; if (seg == this_seg_lim - 1) {