Revert "mailbox: avoid timer start from callback"
raspberrypi inclusion category: feature bugzilla: 50432 -------------------------------- This reverts commit c7dacf5b. The Pi 400 shutdown/poweroff mechanism relies on being able to set a GPIO on the expander in the pm_power_off handler, something that requires two mailbox calls - GET_GPIO_STATE and SET_GPIO_STATE. A recent kernel change introduces a reasonable possibility that the GET call doesn't completes, and bisecting led to a commit from October that changes the timer usage of the mailbox. My theory is that there is a race condition in the new code that breaks the poll timer, but that it normally goes unnoticed because subsequent mailbox activity wakes it up again. The power-off mailbox calls happen at a time when other subsystems have been shut down, so if one of them fails then there is nothing to allow it to recover. See: https://github.com/raspberrypi/linux/issues/3941Signed-off-by: NPhil Elwell <phil@raspberrypi.com> Signed-off-by: NFang Yafen <yafen@iscas.ac.cn> Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
Showing
想要评论请 注册 或 登录