Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Oct 2013 15:02:28 -0700
From:      Justin Hibbits <jrh29@alumni.cwru.edu>
To:        Andreas Tobler <andreast@freebsd.org>
Cc:        FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>
Subject:   Re: powerpc/182978: Kernel panic on boot on powerpc64
Message-ID:  <CAHSQbTD5KN78%2BVr=B30j7azEDK8b40BvUk2uiEmTo87FRP86Eg@mail.gmail.com>
In-Reply-To: <201310141950.r9EJo1Dh054574@freefall.freebsd.org>
References:  <201310141950.r9EJo1Dh054574@freefall.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Oct 14, 2013 at 12:50 PM, Andreas Tobler <andreast@freebsd.org>wrote:

> The following reply was made to PR powerpc/182978; it has been noted by
> GNATS.
>
> From: Andreas Tobler <andreast@FreeBSD.org>
> To: bug-followup@FreeBSD.org, julio@meroh.net
> Cc:
> Subject: Re: powerpc/182978: Kernel panic on boot on powerpc64
> Date: Mon, 14 Oct 2013 21:42:13 +0200
>
>  Hi,
>
>  the reason is from this commit r256304.
>
>  We're working on it.
>
>  Basically, ata_probe does not longer return 0 and ata_kauai and
>  ata_macio fail now. This is due to the fact that these drivers do not
>  handle properly the BUS_* return codes other than 0.
>
>  For the time being you can try the below.
>
>  Gruss,
>  Andreas
>
>  Index: powerpc/powermac/ata_kauai.c
>  ===================================================================
>  --- powerpc/powermac/ata_kauai.c       (revision 256444)
>  +++ powerpc/powermac/ata_kauai.c       (working copy)
>  @@ -199,7 +199,7 @@
>         u_int32_t devid;
>         phandle_t node;
>         const char *compatstring = NULL;
>  -      int i, found, rid;
>  +      int err, i, found, rid;
>
>         found = 0;
>         devid = pci_get_devid(dev);
>  @@ -252,8 +252,11 @@
>         /* XXX: ATAPI DMA is unreliable. We should find out why. */
>         ch->flags |= ATA_NO_ATAPI_DMA;
>         ata_generic_hw(dev);
>  +      err = ata_probe(dev);
>  +      if (err > 0)
>  +              return (err);
>
>  -        return (ata_probe(dev));
>  +        return (0);
>   }
>
>   #if USE_DBDMA_IRQ
>

What do the drivers need in order to behave properly with
BUS_PROBE_DEFAULT?  I don't see any drivers for other chipsets that use
BUS_PROBE_DEFAULT that do anything differently from these.

- Justin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHSQbTD5KN78%2BVr=B30j7azEDK8b40BvUk2uiEmTo87FRP86Eg>