Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Dec 2023 18:08:43 -0700
From:      Warner Losh <imp@bsdimp.com>
To:        "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>
Cc:        "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org>, Warner Losh <imp@freebsd.org>
Subject:   Re: MMCCAM hang
Message-ID:  <CANCZdfrVyap71Q1=q8FJ8X9Fe2Wpj4tC8GQH0VHmgGrmerYwQQ@mail.gmail.com>
In-Reply-To: <nsors8o2-25pn-pr36-7rp6-3rp47psp7q69@yvfgf.mnoonqbm.arg>
References:  <nsors8o2-25pn-pr36-7rp6-3rp47psp7q69@yvfgf.mnoonqbm.arg>

next in thread | previous in thread | raw e-mail | index | archive | help
--00000000000031f85b060d878f9a
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Dec 27, 2023, 4:55=E2=80=AFPM Bjoern A. Zeeb <bzeeb-lists@lists.zab=
badoz.net>
wrote:

> Hi,
>
> sdhci_fsl_fdt0: Desired SD/MMC freq: 50000000, actual: 50000000; base
> 700000000 prescale 1 divisor 14
> GEOM: new disk sdda0
> sdda0 at sdhci_slot0 bus 0 scbus0 target 0 lun 0
> sdda0: Relative addr: 00000002
> Card features: <MMC Memory High-Capacity>
> Card random: unblocking device.
> GEOM: new disk sdda0boot0
> memory OCR: 00ff8080
> sdda0: Serial Number .......
> sdda0: MMCHC .................................. by 17 0x0000
> GEOM: new disk sdda0boot1
> uhub0: 2 ports with 2 removable, self powered
>
> at which point basically anything hangs.  In auto-boot it is
> before/during file-system checks.
> In single user mode camcontrol devlist will show sdda0
> but
>
> root@:/ # gpart show sdda0
> load: 6.06  cmd: gpart 24 [g_waitfor_event] 1.28r 0.00u 0.00s 0% 2088k
> {forever}
>
>
> Unclear at which point I broke to debugger and this is where it seems to
> hang:
>
> db> trace 100088
> Tracing pid 4 tid 100088 td 0xffff0000dc527000
> ipi_stop() at ipi_stop+0x34
> arm_gic_v3_intr() at arm_gic_v3_intr+0xe4
> intr_irq_handler() at intr_irq_handler+0x80
> handle_el1h_irq() at handle_el1h_irq+0x14
> --- interrupt
> spinlock_exit() at spinlock_exit+0x44
> callout_reset_sbt_on() at callout_reset_sbt_on+0x210
> sdhci_cam_action() at sdhci_cam_action+0x284
> xpt_run_devq() at xpt_run_devq+0x4c8
> xpt_action_default() at xpt_action_default+0x470
> sddastart() at sddastart+0x1bc
> xpt_run_allocq() at xpt_run_allocq+0xa8
> xpt_done_process() at xpt_done_process+0x610
> xpt_done_td() at xpt_done_td+0x1a8
> fork_exit() at fork_exit+0x8c
> fork_trampoline() at fork_trampoline+0x18
>
>
> Anyone an idea?
>


Looks like deadlock with another thread. Anybody else in the time keeping /
callout code?

Warmer

> --
> Bjoern A. Zeeb                                                     r15:7
>

--00000000000031f85b060d878f9a
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto"><div><br><br><div class=3D"gmail_quote"><div dir=3D"ltr" =
class=3D"gmail_attr">On Wed, Dec 27, 2023, 4:55=E2=80=AFPM Bjoern A. Zeeb &=
lt;<a href=3D"mailto:bzeeb-lists@lists.zabbadoz.net">bzeeb-lists@lists.zabb=
adoz.net</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D=
"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
sdhci_fsl_fdt0: Desired SD/MMC freq: 50000000, actual: 50000000; base 70000=
0000 prescale 1 divisor 14<br>
GEOM: new disk sdda0<br>
sdda0 at sdhci_slot0 bus 0 scbus0 target 0 lun 0<br>
sdda0: Relative addr: 00000002<br>
Card features: &lt;MMC Memory High-Capacity&gt;<br>
Card random: unblocking device.<br>
GEOM: new disk sdda0boot0<br>
memory OCR: 00ff8080<br>
sdda0: Serial Number .......<br>
sdda0: MMCHC .................................. by 17 0x0000<br>
GEOM: new disk sdda0boot1<br>
uhub0: 2 ports with 2 removable, self powered<br>
<br>
at which point basically anything hangs.=C2=A0 In auto-boot it is<br>
before/during file-system checks.<br>
In single user mode camcontrol devlist will show sdda0<br>
but<br>
<br>
root@:/ # gpart show sdda0<br>
load: 6.06=C2=A0 cmd: gpart 24 [g_waitfor_event] 1.28r 0.00u 0.00s 0% 2088k=
<br>
{forever}<br>
<br>
<br>
Unclear at which point I broke to debugger and this is where it seems to<br=
>
hang:<br>
<br>
db&gt; trace 100088<br>
Tracing pid 4 tid 100088 td 0xffff0000dc527000<br>
ipi_stop() at ipi_stop+0x34<br>
arm_gic_v3_intr() at arm_gic_v3_intr+0xe4<br>
intr_irq_handler() at intr_irq_handler+0x80<br>
handle_el1h_irq() at handle_el1h_irq+0x14<br>
--- interrupt<br>
spinlock_exit() at spinlock_exit+0x44<br>
callout_reset_sbt_on() at callout_reset_sbt_on+0x210<br>
sdhci_cam_action() at sdhci_cam_action+0x284<br>
xpt_run_devq() at xpt_run_devq+0x4c8<br>
xpt_action_default() at xpt_action_default+0x470<br>
sddastart() at sddastart+0x1bc<br>
xpt_run_allocq() at xpt_run_allocq+0xa8<br>
xpt_done_process() at xpt_done_process+0x610<br>
xpt_done_td() at xpt_done_td+0x1a8<br>
fork_exit() at fork_exit+0x8c<br>
fork_trampoline() at fork_trampoline+0x18<br>
<br>
<br>
Anyone an idea?<br></blockquote></div></div><div dir=3D"auto"><br></div><di=
v dir=3D"auto"><br></div><div dir=3D"auto">Looks like deadlock with another=
 thread. Anybody else in the time keeping / callout code?</div><div dir=3D"=
auto"><br></div><div dir=3D"auto">Warmer</div><div dir=3D"auto"><div class=
=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8=
ex;border-left:1px #ccc solid;padding-left:1ex">
-- <br>
Bjoern A. Zeeb=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0r15:7<br>
</blockquote></div></div></div>

--00000000000031f85b060d878f9a--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfrVyap71Q1=q8FJ8X9Fe2Wpj4tC8GQH0VHmgGrmerYwQQ>