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>> 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: <MMC Memory High-Capacity><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> 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>