i2c: cpm: Fix i2c_ram structure
[ Upstream commit a2bd970a ] the i2c_ram structure is missing the sdmatmp field mentionned in datasheet for MPC8272 at paragraph 36.5. With this field missing, the hardware would write past the allocated memory done through cpm_muram_alloc for the i2c_ram structure and land in memory allocated for the buffers descriptors corrupting the cbd_bufaddr field. Since this field is only set during setup(), the first i2c transaction would work and the following would send data read from an arbitrary memory location. Fixes: 61045dbe ("i2c: Add support for I2C bus on Freescale CPM1/CPM2 controllers") Signed-off-by: NNicolas VINCENT <nicolas.vincent@vossloh.com> Acked-by: NJochen Friedrich <jochen@scram.de> Acked-by: NChristophe Leroy <christophe.leroy@csgroup.eu> Signed-off-by: NWolfram Sang <wsa@kernel.org> Signed-off-by: NSasha Levin <sashal@kernel.org> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
Showing
想要评论请 注册 或 登录