diff options
| author | Pawandeep Oza <[email protected]> | 2026-07-21 14:48:30 -0700 |
|---|---|---|
| committer | Anup Patel <[email protected]> | 2026-07-22 13:20:22 +0530 |
| commit | 7a90f41fb966e48a160637e841b91864e7a2c81c (patch) | |
| tree | b0ed33368736b6497069b7dc33a3ac22e0e4a7be /lib/utils/cppc | |
| parent | b2ead3b037c0b864b0770891586d121c0dc68761 (diff) | |
lib: sbi_irqchip: fix MSI EIID gap and tail allocation logic in register_msi
Fix sbi_irqchip_register_msi() that prevented contiguous EIID allocation:
- Gap check condition was inverted: the original `h->first_hwirq -
hwirq < num_hwirq` incorrectly set `found = true` when the gap was
too small to fit num_hwirq entries. Correct to `>= num_hwirq` so
allocation only proceeds when sufficient space exists between
registered handlers.
- Tail-space check `!found && !hwirq` never triggered after iteration
Replace with `(chip->num_hwirq - hwirq) >= num_hwirq` to correctly
allocate if handler list is empty.
Fixes: 79e63bc8348d ("irqchip: add sbi_irqchip_register_msi support")
Signed-off-by: Oza Pawandeep <[email protected]>
Reviewed-by: Anup Patel <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Anup Patel <[email protected]>
Diffstat (limited to 'lib/utils/cppc')
0 files changed, 0 insertions, 0 deletions
