Re: another machine that won't boot without pci=nocrs, this time in -rc4

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

 



Hi Bjorn,

 CR is 15841. I finally managed to find my null modem adapter, which
 has been missing for months, and managed to get you a serial boot
 dump. The fact that its so much longer than the other two makes me a
 little suspicious that I screwed up the other two, let me know if
 anything appears to be missing.

 Thanks again!!
 .andy

On 22/04/10 16:12 -0600, Bjorn Helgaas wrote:
On Thursday 22 April 2010 01:42:01 pm R. Andrew Bailey wrote:
  I noticed a couple of recent kernel bugs that you fielded, having to
  do with achi controllers having issues at boot time. I think I've got
  another example for you- this is a little Dell Optiplex 755 that
  won't boot if the bios "SATA Operation" setting is configured for
  "AHCI" and I don't append pci=nocrs.

  I've got /proc/iomem with the controller set to AHCI and pci=nocrs
  below, but I couldn't get Bjorns debug patch to apply to 2.6.34-rc4,
  was hoping maybe you had an updated patch I could try?

  Anyhow thanks in advance! I was about to open a bugzilla CR, but I
  wasn't sure how to generate a boot log, or whether this might be a
  reopening of an existing bug.

Uh, oh.  We're getting very late in the cycle, and we don't have much
time to debug this.

 - These patches:
       https://patchwork.kernel.org/patch/90852/
       https://patchwork.kernel.org/patch/93704/
   are on their way upstream, but aren't there yet.  Please test them
   first, just in case they fix the problem.  If they do, we should
   go right out and buy some lottery tickets while our luck is good.

   But more likely, this is some new problem, and we'll have to debug
   it by collecting the information below.

 - The patch below applies to current upstream (c81eddb0e372).  If you
   can apply it, set CONFIG_ACPI_DEBUG=y, and boot with
   "acpi.debug_level=0x00010000 acpi.debug_layer=0x00000100" for all
   the tests below, that would be great.

 - Boot with controller set to non-AHCI.  This works, even though
   we're using _CRS.  Right?  Can you collect the dmesg log for this?

 - Boot with controller set to AHCI.  This fails, right?  Any log
   you can collect (e.g., boot with "ignore_loglevel" and use serial
   console, netconsole, digital video, photo, etc) would be helpful.

 - Boot with controller set to AHCI and "pci=nocrs".  This works, right?
   I'd like to see the complete dmesg log.

 - Collect the ACPI DSDT (instructions here:
   http://kernel.org/pub/linux/kernel/people/helgaas/debug)

It'd be ideal if you could open a bugzilla, assign it to me, and attach
this information to it.  I apologize for requesting so much information
all at once; I just want to make progress on this as fast as possible.

Thanks a lot!

Bjorn


commit 9445191b9eb337c977a48b9ed98c40ac82ac0d6b
Author: Bjorn Helgaas <bjorn.helgaas@xxxxxx>
Date:   Mon Mar 15 10:04:17 2010 -0600

diff --git a/drivers/acpi/acpica/Makefile b/drivers/acpi/acpica/Makefile
index 7423052..62bf941 100644
--- a/drivers/acpi/acpica/Makefile
+++ b/drivers/acpi/acpica/Makefile
@@ -38,7 +38,7 @@ acpi-y += psargs.o    psparse.o  psloop.o pstree.o   pswalk.o  \
acpi-y += rsaddr.o rscreate.o rsinfo.o rsio.o rslist.o rsmisc.o rsxface.o \
	 rscalc.o  rsirq.o  rsmemory.o  rsutils.o

-acpi-$(ACPI_FUTURE_USAGE) += rsdump.o
+acpi-$(CONFIG_ACPI_DEBUG) += rsdump.o

acpi-y += tbxface.o tbinstal.o tbutils.o tbfind.o tbfadt.o tbxfroot.o

diff --git a/drivers/acpi/acpica/acutils.h b/drivers/acpi/acpica/acutils.h
index 35df755..4f7649e 100644
--- a/drivers/acpi/acpica/acutils.h
+++ b/drivers/acpi/acpica/acutils.h
@@ -48,7 +48,7 @@ extern const u8 acpi_gbl_resource_aml_sizes[];

/* Strings used by the disassembler and debugger resource dump routines */

-#if defined(ACPI_DISASSEMBLER) || defined (ACPI_DEBUGGER)
+#if defined(ACPI_DISASSEMBLER) || defined (ACPI_DEBUGGER) || defined (ACPI_DEBUG_OUTPUT)

extern const char *acpi_gbl_bm_decode[];
extern const char *acpi_gbl_config_decode[];
diff --git a/drivers/acpi/acpica/rsinfo.c b/drivers/acpi/acpica/rsinfo.c
index 1fd868b..daadba9 100644
--- a/drivers/acpi/acpica/rsinfo.c
+++ b/drivers/acpi/acpica/rsinfo.c
@@ -117,7 +117,6 @@ struct acpi_rsconvert_info *acpi_gbl_get_resource_dispatch[] = {
	acpi_rs_convert_ext_address64	/* 0x0B, ACPI_RESOURCE_NAME_EXTENDED_ADDRESS64 */
};

-#ifdef ACPI_FUTURE_USAGE
#if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER)

/* Dispatch table for resource dump functions */
@@ -143,7 +142,6 @@ struct acpi_rsdump_info *acpi_gbl_dump_resource_dispatch[] = {
};
#endif

-#endif				/* ACPI_FUTURE_USAGE */
/*
 * Base sizes for external AML resource descriptors, indexed by internal type.
 * Includes size of the descriptor header (1 byte for small descriptors,
diff --git a/drivers/acpi/acpica/rsxface.c b/drivers/acpi/acpica/rsxface.c
index 9f6a6e7..9774c78 100644
--- a/drivers/acpi/acpica/rsxface.c
+++ b/drivers/acpi/acpica/rsxface.c
@@ -531,6 +531,8 @@ acpi_walk_resources(acpi_handle device_handle,
	resource_end =
	    ACPI_ADD_PTR(struct acpi_resource, buffer.pointer, buffer.length);

+	ACPI_DUMP_RESOURCE_LIST(resource);
+
	/* Walk the resource list until the end_tag is found (or buffer end) */

	while (resource < resource_end) {
diff --git a/drivers/acpi/acpica/utresrc.c b/drivers/acpi/acpica/utresrc.c
index 7965919..7b7eedc 100644
--- a/drivers/acpi/acpica/utresrc.c
+++ b/drivers/acpi/acpica/utresrc.c
@@ -47,7 +47,7 @@

#define _COMPONENT          ACPI_UTILITIES
ACPI_MODULE_NAME("utresrc")
-#if defined(ACPI_DISASSEMBLER) || defined (ACPI_DEBUGGER)
+#if defined(ACPI_DISASSEMBLER) || defined (ACPI_DEBUGGER) || defined(ACPI_DEBUG_OUTPUT)
/*
 * Strings used to decode resource descriptors.
 * Used by both the disasssembler and the debugger resource dump routines
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux