On 2020-05-11 00:39, Arun Easi wrote: > On Sun, 26 Apr 2020, 8:03pm, Bart Van Assche wrote: >> default: >> - ha->aenmb[1] = RD_REG_WORD(®->aenmailbox1); >> - ha->aenmb[2] = RD_REG_WORD(®->aenmailbox2); >> - ha->aenmb[3] = RD_REG_WORD(®->aenmailbox3); >> - ha->aenmb[4] = RD_REG_WORD(®->aenmailbox4); >> - ha->aenmb[5] = RD_REG_WORD(®->aenmailbox5); >> - ha->aenmb[6] = RD_REG_WORD(®->aenmailbox6); >> - ha->aenmb[7] = RD_REG_WORD(®->aenmailbox7); >> + ha->aenmb[1] = RD_REG_DWORD(®->aenmailbox1); >> + ha->aenmb[2] = RD_REG_DWORD(®->aenmailbox2); >> + ha->aenmb[3] = RD_REG_DWORD(®->aenmailbox3); >> + ha->aenmb[4] = RD_REG_DWORD(®->aenmailbox4); >> + ha->aenmb[5] = RD_REG_DWORD(®->aenmailbox5); >> + ha->aenmb[6] = RD_REG_DWORD(®->aenmailbox6); >> + ha->aenmb[7] = RD_REG_DWORD(®->aenmailbox7); > > Please leave the older access as is. The way you did is right, but > these adapters are not frequently qualified, so please leave it the > tested way. The current code silently truncates 32-bit values into 16-bit values on little endian architectures. The current code is totally broken on big endian architectures. So I think the above changes are an important bug fix. If these changes would introduce a regression, these changes are easy to revert. Thanks, Bart.