On Fri, Jun 22, 2018 at 03:30:03PM +0200, Paul de Weerd wrote:
> Hi all,
> 
> Yesterday, I upgraded my GPD Win to the latest snap.  I'm pretty sure
> I booted into it successfully, but can't be sure now that I'm running
> into this weird issue.
> 
> Kernel starts booting, gives the 'root on sd0a (86ab0e9e00184c6c.a)
> swap on sd0b dump on sd0b' line and then nothing: init doesn't start,
> but there's also no panic for a missing init.  Single user doesn't
> work (needs init, afaics), but boot bsd.rd and you can mount the root
> filesystem just fine.
> 
> I did some fine printf debugging and found that init_main.c calls
> config_process_deferred_mountroot() from subr_autoconf.c but that
> never returns.
> 
> Now this is a pretty short function, but its purpose is not quite
> clear to me.  This is it (including the comment above it):
> 
> /*
>  * Process the deferred configuration queue after the root file
>  * system is mounted .
>  */
> void
> config_process_deferred_mountroot(void)
> {
>         struct deferred_config *dc;
> 
>         while ((dc = TAILQ_FIRST(&mountroot_config_queue)) != NULL) {
>                 TAILQ_REMOVE(&mountroot_config_queue, dc, dc_queue);
>                 (*dc->dc_func)(dc->dc_dev);
>                 free(dc, M_DEVBUF, sizeof(*dc));
>         }
> }
> 
> Can someone suggest next steps to try to debug this?  Or perhaps
> explain what the above function does?  Perhaps I completely
> misunderstand the flow of the code involved...
> 
> Last working dmesg from this machine is included below.

Just a guess, but it could be this driver:

> bwfm0 at pci1 dev 0 function 0 "Broadcom BCM4356" rev 0x02: msi

You could try chasing the problem into bwfm_attachhook() (if_bwfm_pci.c).

Reply via email to