static uchar
 AscMsgOutSDTR(ASC_DVC_VAR *asc_dvc, uchar sdtr_period, uchar sdtr_offset)
 {
-       EXT_MSG sdtr_buf;
-       uchar sdtr_period_index;
-       PortAddr iop_base;
-
-       iop_base = asc_dvc->iop_base;
-       sdtr_buf.msg_type = EXTENDED_MESSAGE;
-       sdtr_buf.msg_len = MS_SDTR_LEN;
-       sdtr_buf.msg_req = EXTENDED_SDTR;
-       sdtr_buf.xfer_period = sdtr_period;
+       PortAddr iop_base = asc_dvc->iop_base;
+       uchar sdtr_period_index = AscGetSynPeriodIndex(asc_dvc, sdtr_period);
+       EXT_MSG sdtr_buf = {
+               .msg_type = EXTENDED_MESSAGE,
+               .msg_len = MS_SDTR_LEN,
+               .msg_req = EXTENDED_SDTR,
+               .xfer_period = sdtr_period,
+               .req_ack_offset = sdtr_offset,
+       };
        sdtr_offset &= ASC_SYN_MAX_OFFSET;
-       sdtr_buf.req_ack_offset = sdtr_offset;
-       sdtr_period_index = AscGetSynPeriodIndex(asc_dvc, sdtr_period);
+
        if (sdtr_period_index <= asc_dvc->max_sdtr_index) {
                AscMemWordCopyPtrToLram(iop_base, ASCV_MSGOUT_BEG,
                                        (uchar *)&sdtr_buf,