[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: "BUG: soft lockup" on A1200; was: Re: Updated installation images for Debian Ports 2019-04-20



Hi Michael,

On Wed, Jun 19, 2019 at 2:09 AM Michael Schmitz <schmitzmic@gmail.com> wrote:
> On 18/06/19 6:56 PM, Geert Uytterhoeven wrote:
> > On Mon, Jun 17, 2019 at 11:22 PM Michael Schmitz <schmitzmic@gmail.com> wrote:
> >> On 15/06/19 11:15 AM, Finn Thain wrote:
> >>> On Wed, 12 Jun 2019, Szymon Bieganski wrote:
> >>>> Here is the end of dmesg (full log in attachment) when kernel stalls,
> >>>> just as before:
> >>>>
> >>>> ------------------------
> >>>>
> >>>> [  122.430000] This architecture does not have kernel memory protection.
> >>>> [  122.440000] Run /init as init process
> >>>> [  126.690000] calling  ide_init+0x0/0x7c [ide_core] @ 43
> >>>> [  126.700000] Uniform Multi-Platform E-IDE driver
> >>>> [  126.710000] initcall ide_init+0x0/0x7c [ide_core] returned 0 after
> >>>> 7988 usecs
> >>>> [  126.980000] calling  amiga_gayle_ide_driver_init+0x0/0x1c [gayle] @ 43
> >>>> [  126.990000] ide: Gayle IDE controller (A1200 style)
> >>>> [  127.000000] Probing IDE interface ide0...
> >>>> [  127.390000] hda: probing with STATUS(0x50) instead of ALTSTATUS(0x0a)
> >>>> [  127.540000] hda: SAMSUNG MP0402H, ATA DISK drive
> >>>> [  127.610000] Z2RAM: using 0K Zorro II RAM and 512K Chip RAM (Total 512K)
> >>>> [  127.980000] hdb: probing with STATUS(0x00) instead of ALTSTATUS(0x0a)
> >>>> [  128.200000] hdb: probing with STATUS(0x00) instead of ALTSTATUS(0x0a)
> >>>> [  148.570000] watchdog: BUG: soft lockup - CPU#0 stuck for 22s!
> >>>> [systemd-udevd:43]
> >> Finn has raised the issue of systemd's short timeouts before. I'm
> >> wondering whether that's part of your problem here. But the IDE driver
> >> probe for a second disk should eventually complete, regardless of
> >> systemd's udev module crashing?
> >>
> >> Not sure whether the 'probing with STATUS instead of ALTSTATUS' message
> >> is normal for the A1200. Geert might remember that sort of detail.
> > That comes from drivers/ide/ide-probe.c:ide_dev_read_id().
> > Looking at the code, it may be caused by the drive, too.
>
>
> I don't see IDE_HFLAG_BROKEN_ALTSTATUS set anywhere in the kernel code
> except drivers/ide/amd74xx.c. gayle.c sets:
>
>          .host_flags             = IDE_HFLAG_MMIO | IDE_HFLAG_SERIALIZE |
>                                    IDE_HFLAG_NO_DMA,
>
> So how would that flag bit get set for the gayle driver?

Finally someone bitten by not using the ! operator ;-)

The test condition is

    (hwif->host_flags & IDE_HFLAG_BROKEN_ALTSTATUS) == 0

i.e. if the flag is _not_ set.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds


Reply to: