In case of MHI MMIO writes, the register field write function needs to do reads before writes are performed. Propagate read failures such that callers are made aware of those and can take appropriate action instead of running blind. Optimizing the MMIO initialization function to use mhi_write_reg() in most cases should also be done to improve design. These patches were tested on X86_64 architecture with Ubuntu 18.04 and SDX65 attach. Bhaumik Bhatt (2): bus: mhi: core: Bail on writing register fields if read fails bus: mhi: core: Optimize and update MMIO register write method drivers/bus/mhi/core/boot.c | 25 ++++++++++----- drivers/bus/mhi/core/init.c | 70 +++++++++++++++++++++++------------------ drivers/bus/mhi/core/internal.h | 7 +++-- drivers/bus/mhi/core/main.c | 9 ++++-- 4 files changed, 67 insertions(+), 44 deletions(-) -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project