Date: Mon, 19 Apr 2004 12:10:59 +0200 From: Bruno Ducrot <ducrot@poupinou.org> To: Nate Lawson <nate@root.org> Cc: freebsd-acpi@freebsd.org Subject: [PATCH] NULL pointer checking in acpi_pcib.c Message-ID: <20040419101059.GB13861@poupinou.org>
next in thread | raw e-mail | index | archive | help
Hi Nate, I have some little problem (probably a bug in the DSDT, I'm not sure) if there is not check for crsbuf.Pointer in acpi_pcib_route_interrupt() after calling acpi_AppendBufferResource(). My latop hang if AC is off-line on boot, or even at runtime. I'm not sure if that correct, though, but acpi_pci_link_set_irq() will do this checking anyway, so I guess it's expected that the caller have to check the return value for crsbuff.Pointer after the call to acpi_AppendBufferResource(&crsbuf, ...). Index: sys/dev/acpica/acpi_pcib.c =================================================================== RCS file: /home/ncvs/src/sys/dev/acpica/acpi_pcib.c,v retrieving revision 1.41 diff -u -p -r1.41 acpi_pcib.c --- sys/dev/acpica/acpi_pcib.c 22 Mar 2004 20:39:20 -0000 1.41 +++ sys/dev/acpica/acpi_pcib.c 18 Apr 2004 20:47:55 -0000 @@ -369,6 +369,10 @@ acpi_pcib_route_interrupt(device_t pcib, AcpiFormatException(status)); goto out; } + if (crsbuf.Pointer == NULL) { + device_printf(pcib, "crs buffer NULL\n"); + goto out; + } if (ACPI_FAILURE(status = AcpiSetCurrentResources(lnkdev, &crsbuf))) { device_printf(pcib, "_SRS failed for interrupt %d via %s - %s\n", Interrupts[0], acpi_name(lnkdev), -- Bruno Ducrot -- Which is worse: ignorance or apathy? -- Don't know. Don't care.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040419101059.GB13861>