Commit d9d9e7a3 authored by Yicong Yang's avatar Yicong Yang Committed by YunYi Yang
Browse files

i2c: hisi: Only use the completion interrupt to finish the transfer

mainline inclusion
from mainline-v6.3-rc4
commit d9826351
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I8QL7I
CVE: NA

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d98263512684a47e81bcb72a5408958ecd1e60b0



----------------------------------------------------------------------

The controller will always generate a completion interrupt when the
transfer is finished normally or not. Currently we use either error or
completion interrupt to finish, this may result the completion
interrupt unhandled and corrupt the next transfer, especially at low
speed mode. Since on error case, the error interrupt will come first
then is the completion interrupt. So only use the completion interrupt
to finish the whole transfer process.

Fixes: d62fbdb9 ("i2c: add support for HiSilicon I2C controller")
Reported-by: default avatarSheng Feng <fengsheng5@huawei.com>
Signed-off-by: default avatarSheng Feng <fengsheng5@huawei.com>
Signed-off-by: default avatarYicong Yang <yangyicong@hisilicon.com>
Signed-off-by: default avatarWolfram Sang <wsa@kernel.org>
Signed-off-by: default avatarlujunhua <lujunhua7@h-partners.com>
Signed-off-by: default avatarYunYi Yang <yangyunyi2@huawei.com>
parent edcaa01d
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment