Linux GPIO subsystem development
 help / color / mirror / Atom feed
* [PATCH 0/2] gpio: davinci: fix probe-time IRQ setup
@ 2026-11-09 19:49 Sahaj Chaudhari
  2026-11-09 19:49 ` [PATCH 1/2] gpio: davinci: use controller-specific MMIO for BINTEN Sahaj Chaudhari
  2026-11-09 19:49 ` [PATCH 2/2] gpio: davinci: allocate bank IRQ data before installing handlers Sahaj Chaudhari
  0 siblings, 2 replies; 4+ messages in thread
From: Sahaj Chaudhari @ 2026-11-09 19:49 UTC (permalink / raw)
  To: linusw, brgl
  Cc: Sahaj Chaudhari, j-keerthy, nsekhar, prabhakar.csengg,
	avinashphilip, sujithkv, linux-gpio, linux-kernel

This series fixes two independent probe-time bugs in the DaVinci GPIO
driver:

1. A file-global MMIO base can be overwritten by overlapping controller
   probes, causing BINTEN setup to target the wrong controller.
2. Per-bank IRQ data is allocated as chained handlers are installed. A
   later allocation failure can leave handlers pointing to devm-managed
   data freed during probe unwind.

The first patch derives BINTEN from the current controller's mapped bank.
The second allocates all IRQ data before installing any handlers.

---
Testing:
- ARM64 W=1 Image builds passed for both patches.
- On AM642, a forced asynchronous-probe interleave made the baseline
  compute the wrong BINTEN target. The test redirected the unsafe baseline
  write before it reached hardware; the fixed path selected the expected
  target and verified readback 0x3f.
- With targeted probe allocation failure, the baseline left one chained
  handler installed; it was detached safely before devm cleanup. The fixed
  path left no handlers installed and reprobed normally.

The private baseline and fixed kernels showed unexplained
TAINT_MACHINE_CHECK bit 16. No BUG/Oops/WARNING/call trace/SError was
captured; the cause remains unknown, so this is not a clean hardware-health
claim.

GitHub Copilot CLI assisted with investigating the bugs and drafting the
fixes. The submitter reviewed the code and personally ran both board tests.

Sahaj Chaudhari (2):
  gpio: davinci: use controller-specific MMIO for BINTEN
  gpio: davinci: allocate bank IRQ data before installing handlers

 drivers/gpio/gpio-davinci.c | 28 +++++++++++++---------------
 1 file changed, 13 insertions(+), 15 deletions(-)

base-commit: 4fc2c9ab68f4324bea62cb5a43e93392225f1d11

-- 
2.43.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-11-10 23:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-09 19:49 [PATCH 0/2] gpio: davinci: fix probe-time IRQ setup Sahaj Chaudhari
2026-11-09 19:49 ` [PATCH 1/2] gpio: davinci: use controller-specific MMIO for BINTEN Sahaj Chaudhari
2026-11-10 23:20   ` sashiko-bot
2026-11-09 19:49 ` [PATCH 2/2] gpio: davinci: allocate bank IRQ data before installing handlers Sahaj Chaudhari

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox