public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jiri Slaby <jirislaby@gmail.com>
To: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	linux-kernel@vger.kernel.org, kernel-testers@vger.kernel.org
Subject: Re: pnp changes -> suspend oops [Was: 2.6.26-rc5-mm2]
Date: Mon, 16 Jun 2008 12:43:26 +0200	[thread overview]
Message-ID: <485643CE.9050800@gmail.com> (raw)
In-Reply-To: <200806131123.16890.bjorn.helgaas@hp.com>

On 06/13/2008 07:23 PM, Bjorn Helgaas wrote:
> Thanks a lot!  Your BIOS clearly claims that at least one of your
> serial ports can be configured with DMA:
> 
>   pnp 00:07:   dependent set 5 (acceptable) io  min 0x3f8 max 0x3f8 align 1 size 8 flags 0x1
>   pnp 00:07:   dependent set 5 (acceptable) irq 3 4 5 6 7 10 11 12 flags 0x1
>   pnp 00:07:   dependent set 5 (acceptable) dma 0 1 2 3 (bitmask 0xf) flags 0x0
> 
> That's wierd, but whatever, we still have to be careful to give the
> BIOS back what it expects, and I think that means we have to keep
> track of that disabled DMA resource in pnpacpi_allocated_resource().
> 
> Can you please replace the debug patch with the one below and send me
> the results again?
> 
> Index: work10/drivers/pnp/pnpacpi/rsparser.c
> ===================================================================
> --- work10.orig/drivers/pnp/pnpacpi/rsparser.c	2008-06-11 12:46:28.000000000 -0600
> +++ work10/drivers/pnp/pnpacpi/rsparser.c	2008-06-13 11:13:21.000000000 -0600
> @@ -240,6 +240,7 @@ static acpi_status pnpacpi_allocated_res
>  	struct acpi_resource_fixed_memory32 *fixed_memory32;
>  	struct acpi_resource_extended_irq *extended_irq;
>  	int i, flags;
> +	u8 channel;
>  
>  	switch (res->type) {
>  	case ACPI_RESOURCE_TYPE_IRQ:
> @@ -259,13 +260,13 @@ static acpi_status pnpacpi_allocated_res
>  
>  	case ACPI_RESOURCE_TYPE_DMA:
>  		dma = &res->data.dma;
> -		if (dma->channel_count > 0) {
> -			flags = dma_flags(dma->type, dma->bus_master,
> -					  dma->transfer);
> -			if (dma->channels[0] == (u8) -1)
> -				flags |= IORESOURCE_DISABLED;
> -			pnp_add_dma_resource(dev, dma->channels[0], flags);
> +		channel = dma->channels[0];
> +		flags = dma_flags(dma->type, dma->bus_master, dma->transfer);
> +		if (dma->channel_count == 0 || dma->channels[0] == (u8) -1) {
> +			channel = -1;
> +			flags = IORESOURCE_DISABLED;
>  		}
> +		pnp_add_dma_resource(dev, channel, flags);
>  		break;
>  
>  	case ACPI_RESOURCE_TYPE_IO:

Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
ACPI: bus type pnp registered
pnp 00:00: parse allocated resources
pnp 00:00:   add io  0xcf8-0xcff flags 0x1
pnp 00:00: Plug and Play ACPI device, IDs PNP0a08 PNP0a03 (active)
pnp 00:01: parse allocated resources
pnp 00:01:   add mem 0xfed14000-0xfed19fff flags 0x1
pnp 00:01: PNP0c01: calling quirk_system_pci_resources+0x0/0x1d0
pnp 00:01: Plug and Play ACPI device, IDs PNP0c01 (active)
pnp 00:02: parse allocated resources
pnp 00:02:   add dma 4 flags 0x4
pnp 00:02:   add io  0x0-0xf flags 0x1
pnp 00:02:   add io  0x81-0x83 flags 0x1
pnp 00:02:   add io  0x87-0x87 flags 0x1
pnp 00:02:   add io  0x89-0x8b flags 0x1
pnp 00:02:   add io  0x8f-0x8f flags 0x1
pnp 00:02:   add io  0xc0-0xdf flags 0x1
pnp 00:02: Plug and Play ACPI device, IDs PNP0200 (active)
pnp 00:03: parse allocated resources
pnp 00:03:   add io  0x70-0x71 flags 0x1
pnp 00:03:   add irq 8 flags 0x1
pnp 00:03: Plug and Play ACPI device, IDs PNP0b00 (active)
pnp 00:04: parse allocated resources
pnp 00:04:   add io  0x61-0x61 flags 0x1
pnp 00:04: Plug and Play ACPI device, IDs PNP0800 (active)
pnp 00:05: parse allocated resources
pnp 00:05:   add io  0xf0-0xff flags 0x1
pnp 00:05:   add irq 13 flags 0x1
pnp 00:05: Plug and Play ACPI device, IDs PNP0c04 (active)
pnp 00:06: parse allocated resources
pnp 00:06:   add io  0x3f8-0x3ff flags 0x1
pnp 00:06:   add irq 4 flags 0x1
pnp 00:06:   add dma 255 flags 0x10000000
pnp 00:06: parse resource options
pnp 00:06:   dependent set 0 (preferred) io  min 0x3f8 max 0x3f8 align 1 size 8 
flags 0x1
pnp 00:06:   dependent set 0 (preferred) irq 4 flags 0x1
pnp 00:06:   dependent set 1 (acceptable) io  min 0x3f8 max 0x3f8 align 1 size 8 
flags 0x1
pnp 00:06:   dependent set 1 (acceptable) irq 3 4 5 6 7 10 11 12 flags 0x1
pnp 00:06:   dependent set 2 (acceptable) io  min 0x2f8 max 0x2f8 align 1 size 8 
flags 0x1
pnp 00:06:   dependent set 2 (acceptable) irq 3 4 5 6 7 10 11 12 flags 0x1
pnp 00:06:   dependent set 3 (acceptable) io  min 0x3e8 max 0x3e8 align 1 size 8 
flags 0x1
pnp 00:06:   dependent set 3 (acceptable) irq 3 4 5 6 7 10 11 12 flags 0x1
pnp 00:06:   dependent set 4 (acceptable) io  min 0x2e8 max 0x2e8 align 1 size 8 
flags 0x1
pnp 00:06:   dependent set 4 (acceptable) irq 3 4 5 6 7 10 11 12 flags 0x1
pnp 00:06: Plug and Play ACPI device, IDs PNP0501 (active)
pnp 00:07: parse allocated resources
pnp 00:07:   add io  0x2f8-0x2ff flags 0x1
pnp 00:07:   add irq 3 flags 0x1
pnp 00:07:   add dma 255 flags 0x10000000
pnp 00:07: parse resource options
pnp 00:07:   dependent set 0 (preferred) io  min 0x2f8 max 0x2f8 align 1 size 8 
flags 0x1
pnp 00:07:   dependent set 0 (preferred) irq 3 flags 0x1
pnp 00:07:   dependent set 1 (acceptable) io  min 0x3f8 max 0x3f8 align 1 size 8 
flags 0x1
pnp 00:07:   dependent set 1 (acceptable) irq 3 4 5 6 7 10 11 12 flags 0x1
pnp 00:07:   dependent set 2 (acceptable) io  min 0x2f8 max 0x2f8 align 1 size 8 
flags 0x1
pnp 00:07:   dependent set 2 (acceptable) irq 3 4 5 6 7 10 11 12 flags 0x1
pnp 00:07:   dependent set 3 (acceptable) io  min 0x3e8 max 0x3e8 align 1 size 8 
flags 0x1
pnp 00:07:   dependent set 3 (acceptable) irq 3 4 5 6 7 10 11 12 flags 0x1
pnp 00:07:   dependent set 4 (acceptable) io  min 0x2e8 max 0x2e8 align 1 size 8 
flags 0x1
pnp 00:07:   dependent set 4 (acceptable) irq 3 4 5 6 7 10 11 12 flags 0x1
pnp 00:07:   dependent set 5 (acceptable) io  min 0x3f8 max 0x3f8 align 1 size 8 
flags 0x1
pnp 00:07:   dependent set 5 (acceptable) irq 3 4 5 6 7 10 11 12 flags 0x1
pnp 00:07:   dependent set 5 (acceptable) dma 0 1 2 3 (bitmask 0xf) flags 0x0
pnp 00:07:   dependent set 6 (acceptable) io  min 0x2f8 max 0x2f8 align 1 size 8 
flags 0x1
pnp 00:07:   dependent set 6 (acceptable) irq 3 4 5 6 7 10 11 12 flags 0x1
pnp 00:07:   dependent set 6 (acceptable) dma 0 1 2 3 (bitmask 0xf) flags 0x0
pnp 00:07:   dependent set 7 (acceptable) io  min 0x3e8 max 0x3e8 align 1 size 8 
flags 0x1
pnp 00:07:   dependent set 7 (acceptable) irq 3 4 5 6 7 10 11 12 flags 0x1
pnp 00:07:   dependent set 7 (acceptable) dma 0 1 2 3 (bitmask 0xf) flags 0x0
pnp 00:07:   dependent set 8 (acceptable) io  min 0x2e8 max 0x2e8 align 1 size 8 
flags 0x1
pnp 00:07:   dependent set 8 (acceptable) irq 3 4 5 6 7 10 11 12 flags 0x1
pnp 00:07:   dependent set 8 (acceptable) dma 0 1 2 3 (bitmask 0xf) flags 0x0
pnp 00:07: Plug and Play ACPI device, IDs PNP0501 (active)
pnp 00:08: parse allocated resources
pnp 00:08:   add io  0x3f0-0x3f5 flags 0x1
pnp 00:08:   add io  0x3f7-0x3f7 flags 0x1
pnp 00:08:   add irq 6 flags 0x1
pnp 00:08:   add dma 2 flags 0x0
pnp 00:08: parse resource options
pnp 00:08:   dependent set 0 (preferred) io  min 0x3f0 max 0x3f0 align 1 size 6 
flags 0x1
pnp 00:08:   dependent set 0 (preferred) io  min 0x3f7 max 0x3f7 align 1 size 1 
flags 0x1
pnp 00:08:   dependent set 0 (preferred) irq 6 flags 0x1
pnp 00:08:   dependent set 0 (preferred) dma 2 (bitmask 0x4) flags 0x0
pnp 00:08:   dependent set 1 (acceptable) io  min 0x3f0 max 0x3f0 align 1 size 6 
flags 0x1
pnp 00:08:   dependent set 1 (acceptable) io  min 0x3f7 max 0x3f7 align 1 size 1 
flags 0x1
pnp 00:08:   dependent set 1 (acceptable) irq 3 4 5 6 7 10 11 12 flags 0x1
pnp 00:08:   dependent set 1 (acceptable) dma 0 1 2 3 (bitmask 0xf) flags 0x0
pnp 00:08:   dependent set 2 (acceptable) io  min 0x370 max 0x370 align 1 size 6 
flags 0x1
pnp 00:08:   dependent set 2 (acceptable) io  min 0x377 max 0x377 align 1 size 1 
flags 0x1
pnp 00:08:   dependent set 2 (acceptable) irq 3 4 5 6 7 10 11 12 flags 0x1
pnp 00:08:   dependent set 2 (acceptable) dma 0 1 2 3 (bitmask 0xf) flags 0x0
pnp 00:08: Plug and Play ACPI device, IDs PNP0700 (active)
pnp 00:09: parse allocated resources
pnp 00:09:   add io  0x0-0xffffffffffffffff flags 0x10000001
pnp 00:09:   add io  0xa20-0xa3f flags 0x1
pnp 00:09:   add io  0xa00-0xa0f flags 0x1
pnp 00:09:   add io  0xa10-0xa1f flags 0x1
pnp 00:09:   add io  0xa40-0xa5f flags 0x1
pnp 00:09: PNP0c02: calling quirk_system_pci_resources+0x0/0x1d0
pnp 00:09: Plug and Play ACPI device, IDs PNP0c02 (active)
pnp 00:0a: parse allocated resources
pnp 00:0a:   add io  0x10-0x1f flags 0x1
pnp 00:0a:   add io  0x22-0x3f flags 0x1
pnp 00:0a:   add io  0x44-0x5f flags 0x1
pnp 00:0a:   add io  0x62-0x63 flags 0x1
pnp 00:0a:   add io  0x65-0x6f flags 0x1
pnp 00:0a:   add io  0x72-0x7f flags 0x1
pnp 00:0a:   add io  0x80-0x80 flags 0x1
pnp 00:0a:   add io  0x84-0x86 flags 0x1
pnp 00:0a:   add io  0x88-0x88 flags 0x1
pnp 00:0a:   add io  0x8c-0x8e flags 0x1
pnp 00:0a:   add io  0x90-0x9f flags 0x1
pnp 00:0a:   add io  0xa2-0xbf flags 0x1
pnp 00:0a:   add io  0xe0-0xef flags 0x1
pnp 00:0a:   add io  0x4d0-0x4d1 flags 0x1
pnp 00:0a:   add io  0x800-0x87f flags 0x1
pnp 00:0a:   add io  0x0-0xffffffffffffffff flags 0x10000001
pnp 00:0a:   add io  0x480-0x4bf flags 0x1
pnp 00:0a:   add mem 0xfed1c000-0xfed1ffff flags 0x1
pnp 00:0a:   add mem 0xfed20000-0xfed8ffff flags 0x1
pnp 00:0a: PNP0c02: calling quirk_system_pci_resources+0x0/0x1d0
pnp 00:0a: Plug and Play ACPI device, IDs PNP0c02 (active)
pnp 00:0b: parse allocated resources
pnp 00:0b:   add io  0x60-0x60 flags 0x1
pnp 00:0b:   add io  0x64-0x64 flags 0x1
pnp 00:0b: PNP0c02: calling quirk_system_pci_resources+0x0/0x1d0
pnp 00:0b: Plug and Play ACPI device, IDs PNP0c02 (active)
pnp 00:0c: parse allocated resources
pnp 00:0c:   add mem 0xfed00000-0xfed003ff flags 0x0
pnp 00:0c: Plug and Play ACPI device, IDs PNP0103 (active)
pnp 00:0d: parse allocated resources
pnp 00:0d:   add mem 0xffb00000-0xffbfffff flags 0x0
pnp 00:0d:   add mem 0xfff00000-0xffffffff flags 0x0
pnp 00:0d: Plug and Play ACPI device, IDs INT0800 (active)
pnp 00:0e: parse allocated resources
pnp 00:0e:   add mem 0xffc00000-0xffefffff flags 0x0
pnp 00:0e: PNP0c02: calling quirk_system_pci_resources+0x0/0x1d0
pnp 00:0e: Plug and Play ACPI device, IDs PNP0c02 (active)
pnp 00:0f: parse allocated resources
pnp 00:0f:   add mem 0xfec00000-0xfec00fff flags 0x0
pnp 00:0f:   add mem 0xfee00000-0xfee00fff flags 0x0
pnp 00:0f: PNP0c02: calling quirk_system_pci_resources+0x0/0x1d0
pnp 00:0f: Plug and Play ACPI device, IDs PNP0c02 (active)
pnp 00:10: parse allocated resources
pnp 00:10:   add mem 0xe0000000-0xefffffff flags 0x0
pnp 00:10: PNP0c02: calling quirk_system_pci_resources+0x0/0x1d0
pnp 00:10: Plug and Play ACPI device, IDs PNP0c02 (active)
pnp 00:11: parse allocated resources
pnp 00:11:   add mem 0x0-0xffffffffffffffff flags 0x10000000
pnp 00:11: PNP0c02: calling quirk_system_pci_resources+0x0/0x1d0
pnp 00:11: Plug and Play ACPI device, IDs PNP0c02 (active)
pnp 00:12: parse allocated resources
pnp 00:12:   add mem 0xfed90000-0xfed90fff flags 0x1
pnp 00:12: PNP0c02: calling quirk_system_pci_resources+0x0/0x1d0
pnp 00:12: Plug and Play ACPI device, IDs PNP0c02 (active)
pnp 00:13: parse allocated resources
pnp 00:13:   add mem 0xfed91000-0xfed91fff flags 0x1
pnp 00:13: PNP0c02: calling quirk_system_pci_resources+0x0/0x1d0
pnp 00:13: Plug and Play ACPI device, IDs PNP0c02 (active)
pnp 00:14: parse allocated resources
pnp 00:14:   add mem 0xfed92000-0xfed92fff flags 0x1
pnp 00:14: PNP0c02: calling quirk_system_pci_resources+0x0/0x1d0
pnp 00:14: Plug and Play ACPI device, IDs PNP0c02 (active)
pnp 00:15: parse allocated resources
pnp 00:15:   add mem 0xfed93000-0xfed93fff flags 0x1
pnp 00:15: PNP0c02: calling quirk_system_pci_resources+0x0/0x1d0
pnp 00:15: Plug and Play ACPI device, IDs PNP0c02 (active)
pnp 00:16: parse allocated resources
pnp 00:16:   add mem 0x0-0x9ffff flags 0x1
pnp 00:16:   add mem 0xc0000-0xcffff flags 0x0
pnp 00:16:   add mem 0xe0000-0xfffff flags 0x0
pnp 00:16:   add mem 0x100000-0x7d5fffff flags 0x1
pnp 00:16:   add mem 0x0-0xffffffffffffffff flags 0x10000000
pnp 00:16: PNP0c01: calling quirk_system_pci_resources+0x0/0x1d0
pnp 00:16: Plug and Play ACPI device, IDs PNP0c01 (active)
pnp: PnP ACPI: found 23 devices
...
serial 00:06: pnp_start_dev: current resources:
serial 00:06:   io  0x3f8-0x3ff flags 0x101
serial 00:06:   irq 4 flags 0x401
serial 00:06:   dma disabled
serial 00:06: set resources
serial 00:06: encode 3 resources
serial 00:06:   encode io 0x3f8-0x3ff decode 0x1
serial 00:06:   encode irq 4 edge high exclusive (2-byte descriptor)
serial 00:06:   encode dma 255 type 0x0 transfer 0x0 master 0
serial 00:06: activated
serial 00:07: pnp_start_dev: current resources:
serial 00:07:   io  0x2f8-0x2ff flags 0x101
serial 00:07:   irq 3 flags 0x401
serial 00:07:   dma disabled
serial 00:07: set resources
serial 00:07: encode 3 resources
serial 00:07:   encode io 0x2f8-0x2ff decode 0x1
serial 00:07:   encode irq 3 edge high exclusive (2-byte descriptor)
serial 00:07:   encode dma 255 type 0x0 transfer 0x0 master 0
serial 00:07: activated

      reply	other threads:[~2008-06-16 10:45 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-10  5:31 2.6.26-rc5-mm2 Andrew Morton
2008-06-10  6:12 ` 2.6.26-rc5-mm2 Nick Piggin
2008-06-10  7:28 ` 2.6.26-rc5-mm2 Nick Piggin
2008-06-10  8:34   ` 2.6.26-rc5-mm2 Andrew Morton
2008-06-10  8:48     ` 2.6.26-rc5-mm2 Nick Piggin
2008-06-10  9:15       ` 2.6.26-rc5-mm2 Andrew Morton
2008-06-10 12:34         ` 2.6.26-rc5-mm2 Rik van Riel
2008-06-11 18:09       ` 2.6.26-rc5-mm2 Rik van Riel
2008-06-11 23:58         ` 2.6.26-rc5-mm2 Nick Piggin
2008-06-12 19:29           ` 2.6.26-rc5-mm2 Rik van Riel
2008-06-12 21:15             ` 2.6.26-rc5-mm2 (swap_state.c:77) Hugh Dickins
2008-06-13 17:45               ` Rik van Riel
2008-06-13 21:15                 ` Hugh Dickins
2008-06-13 22:03                   ` Rik van Riel
2008-06-10 15:34   ` 2.6.26-rc5-mm2 Lee Schermerhorn
2008-06-10 16:50     ` 2.6.26-rc5-mm2 Hugh Dickins
2008-06-10 10:20 ` 2.6.26-rc5-mm2 lockup up on Intel G33+ICH9R+Core2Duo, -mm1 okay Grant Coady
2008-06-10 18:18   ` Andrew Morton
2008-06-10 21:48     ` Grant Coady
2008-06-10 11:50 ` 2.6.26-rc5-mm2 compile error in vmscan.c Helge Hafting
2008-06-10 12:23   ` Johannes Weiner
2008-06-10 18:37   ` Andrew Morton
2008-06-12  8:13     ` Helge Hafting
2008-06-11  2:26 ` 2.6.26-rc5-mm2 (compile error in mm/memory_hotplug.c) Yasunori Goto
2008-06-11  6:00 ` 2.6.26-rc5-mm2: OOM with 1G free swap Alexey Dobriyan
2008-06-11  6:11   ` Nick Piggin
2008-06-11  6:15   ` Nick Piggin
2008-06-11  6:27   ` Andrew Morton
2008-06-11  6:31     ` Nick Piggin
2008-06-11  6:36     ` KOSAKI Motohiro
2008-06-11  7:31       ` Frederik Deweerdt
2008-06-11 12:57     ` Rik van Riel
2008-06-11 13:44       ` Nick Piggin
2008-06-11 17:56 ` [BUG] 2.6.26-rc5-mm2 - kernel BUG at arch/x86/kernel/setup.c:388! Kamalesh Babulal
2008-06-11 18:28   ` Dave Hansen
2008-06-11 18:37     ` Vegard Nossum
2008-06-12  6:55       ` Kamalesh Babulal
2008-06-11 18:08 ` pnp changes -> suspend oops [Was: 2.6.26-rc5-mm2] Jiri Slaby
2008-06-11 19:03   ` Bjorn Helgaas
2008-06-12 21:10     ` Jiri Slaby
2008-06-12 21:22       ` Bjorn Helgaas
2008-06-12 21:39         ` Jiri Slaby
2008-06-12 21:57           ` Bjorn Helgaas
2008-06-12 21:57             ` Jiri Slaby
2008-06-13 16:05             ` Jiri Slaby
2008-06-13 17:23               ` Bjorn Helgaas
2008-06-16 10:43                 ` Jiri Slaby [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=485643CE.9050800@gmail.com \
    --to=jirislaby@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=bjorn.helgaas@hp.com \
    --cc=kernel-testers@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox