Re: MMCCAM sdhci_fdt0 panic on boot

From: Bjoern A. Zeeb <bzeeb-lists_at_lists.zabbadoz.net>
Date: Tue, 06 Jul 2021 23:31:42 UTC
On Tue, 6 Jul 2021, Bjoern A. Zeeb wrote:

> Hi,
>
> something has recently changed which causes this (last kernel was from
> April 20 imho and was fine)?
> I am wondering if it is because of MMCCAM/CAM updates or a DTS update I 
> didn't fully do and we don't handle well?
> My guess is the former...

replying to myself after looking at the code;
I am almost certain it's this one:
https://cgit.freebsd.org/src/commit/sys/dev/sdhci/sdhci.c?id=a72af82e3169fcacfedf9047120679300a4296f8

Given the previous version did pass that:
https://cgit.freebsd.org/src/commit/sys?id=aeb04e88f51a706ef4b6a380bf5e82d15203fb6a

I'll run a quick test using this before committing.

diff --git sys/dev/sdhci/sdhci.c sys/dev/sdhci/sdhci.c
index bd30175e9f8..d075c2e0500 100644
--- sys/dev/sdhci/sdhci.c
+++ sys/dev/sdhci/sdhci.c
@@ -2484,7 +2484,7 @@ sdhci_start_slot(struct sdhci_slot *slot)

         mtx_init(&slot->sim_mtx, "sdhcisim", NULL, MTX_DEF);
         slot->sim = cam_sim_alloc(sdhci_cam_action, sdhci_cam_poll,
-           "sdhci_slot", slot, device_get_unit(slot->dev),
+           "sdhci_slot", slot, device_get_unit(slot->bus),
             &slot->sim_mtx, 1, 1, slot->devq);

         if (slot->sim == NULL) {


-- 
Bjoern A. Zeeb                                                     r15:7