mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
bus: mhi: ep: Use IRQF_NO_AUTOEN flag in request_irq()
mhi_ep_register_controller() sets IRQ_NOAUTOEN on the doorbell IRQ descriptor before request_irq(), and the flag is never cleared on the error paths or in mhi_ep_unregister_controller(), so it stays on the descriptor after the IRQ is freed. Pass IRQF_NO_AUTOEN to request_irq() instead. It keeps the IRQ disabled until mhi_ep_power_up() enables it, without leaving state behind on the descriptor. Signed-off-by: Yuho Choi <oss.patchbox@gmail.com> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com> Link: https://patch.msgid.link/20260923235430.703236-1-oss.patchbox@gmail.com
This commit is contained in:
parent
ba9eee2d6f
commit
3ae2c076ed
|
|
@ -1534,8 +1534,8 @@ int mhi_ep_register_controller(struct mhi_ep_cntrl *mhi_cntrl,
|
|||
|
||||
mhi_cntrl->index = ret;
|
||||
|
||||
irq_set_status_flags(mhi_cntrl->irq, IRQ_NOAUTOEN);
|
||||
ret = request_irq(mhi_cntrl->irq, mhi_ep_irq, IRQF_TRIGGER_HIGH,
|
||||
ret = request_irq(mhi_cntrl->irq, mhi_ep_irq,
|
||||
IRQF_TRIGGER_HIGH | IRQF_NO_AUTOEN,
|
||||
"doorbell_irq", mhi_cntrl);
|
||||
if (ret) {
|
||||
dev_err(mhi_cntrl->cntrl_dev, "Failed to request Doorbell IRQ\n");
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user