From owner-svn-src-all@freebsd.org Wed May 18 15:24:12 2016 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 16F44B41B44; Wed, 18 May 2016 15:24:12 +0000 (UTC) (envelope-from andrew@fubar.geek.nz) Received: from kif.fubar.geek.nz (kif.fubar.geek.nz [178.62.119.249]) by mx1.freebsd.org (Postfix) with ESMTP id CAA021BAC; Wed, 18 May 2016 15:24:11 +0000 (UTC) (envelope-from andrew@fubar.geek.nz) Received: from zapp (global-5-141.nat-2.net.cam.ac.uk [131.111.5.141]) by kif.fubar.geek.nz (Postfix) with ESMTPSA id 9D59BD78FE; Wed, 18 May 2016 15:24:10 +0000 (UTC) Date: Wed, 18 May 2016 16:24:09 +0100 From: Andrew Turner To: Zbigniew Bodek Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r300149 - in head/sys: arm/allwinner arm/allwinner/a10 arm/arm arm/broadcom/bcm2835 arm/mv arm/nvidia arm/ti arm/ti/omap4 arm64/arm64 kern mips/mediatek mips/mips sys Message-ID: <20160518162409.1074344e@zapp> In-Reply-To: References: <201605181505.u4IF5ixZ018827@repo.freebsd.org> X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.29; amd64-portbld-freebsd11.0) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 May 2016 15:24:12 -0000 On Wed, 18 May 2016 17:15:10 +0200 Zbigniew Bodek wrote: > 2016-05-18 17:05 GMT+02:00 Andrew Turner : ... > > #ifdef INTRNG > > xref = OF_xref_from_node(ofw_bus_get_node(dev)); > > - if (intr_pic_register(dev, xref) != 0) { > > + if (intr_pic_register(dev, xref) == NULL) { > > device_printf(dev, "could not register PIC\n"); > > goto error; > > } > > @@ -172,7 +172,7 @@ error: > > /* Failure so free resources */ > > gic_v3_detach(dev); > > > > - return (err); > > + return (ENXIO); > > > > > Few line above we have: > err = gic_v3_attach(dev); > if (err != 0) > goto error; > > So now we would not return error code from gic_v3_attach() but always > ENXIO... The error value doesn't matter, as long as it's non-zero. This also fixes the return value in the intrng case if either of intr_pic_register or intr_pic_claim_root fail. You might get a little information from the return value being printed, however it would be more useful to have verbose logging to print an error message. In all of these failure cases there isn't much we can do as there is no root interrupt controller, the boot will fail later on when we enable interrupts. Andrew