Page MenuHomeFreeBSD

D28494.id83405.diff
No OneTemporary

D28494.id83405.diff

Index: sys/dev/mrsas/mrsas.c
===================================================================
--- sys/dev/mrsas/mrsas.c
+++ sys/dev/mrsas/mrsas.c
@@ -2782,8 +2782,12 @@
init_frame->queue_info_new_phys_addr_lo = htole32(phys_addr);
init_frame->data_xfer_len = htole32(sizeof(Mpi2IOCInitRequest_t));
- req_desc.addr.u.low = htole32((bus_addr_t)sc->ioc_init_phys_mem & 0xFFFFFFFF);
- req_desc.addr.u.high = htole32((bus_addr_t)sc->ioc_init_phys_mem >> 32);
+ if (sizeof(bus_addr_t) == sizeof(uint32_t))
+ req_desc.addr.Words = htole32((bus_addr_t)sc->ioc_init_phys_mem);
+ else if (sizeof(bus_addr_t) == sizeof(uint64_t))
+ req_desc.addr.Words = htole64((bus_addr_t)sc->ioc_init_phys_mem);
+ else
+ panic("mrsas: unhandled bus_addr_t size");
req_desc.MFAIo.RequestFlags =
(MRSAS_REQ_DESCRIPT_FLAGS_MFA << MRSAS_REQ_DESCRIPT_FLAGS_TYPE_SHIFT);

File Metadata

Mime Type
text/plain
Expires
Sun, Sep 6, 10:04 PM (6 h, 59 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
38435642
Default Alt Text
D28494.id83405.diff (862 B)

Event Timeline