linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "S. Anderson" <sa@xmission.com>
To: Andrew Morton <akpm@osdl.org>
Cc: "S. Anderson" <sa@xmission.com>,
	pavel@xal.co.uk, linux-kernel@vger.kernel.org, adaplas@pol.net
Subject: Re: OOPS 2.6.0-test2, modprobe i810fb
Date: Tue, 29 Jul 2003 01:24:17 -0600	[thread overview]
Message-ID: <20030729012417.A18449@xmission.xmission.com> (raw)
In-Reply-To: <20030728225914.4f299586.akpm@osdl.org>; from akpm@osdl.org on Mon, Jul 28, 2003 at 10:59:14PM -0700

On Mon, Jul 28, 2003 at 10:59:14PM -0700, Andrew Morton wrote:
> "S. Anderson" <sa@xmission.com> wrote:
> >
> > Thanks, that fixes the oops Pavel reported!
> > 
> > But I now realize the oops I am getting is different...
> > 
> > It happens only if any of these "i810fb, i810_audio or intel-agp"
> > are compiled in the kernel or insterted as modules.
> > 
> > i810fb, i810_audio or intel-agp load up fine and seem to all work
> > properly. I only get the oops when I put a card into my cardbus slot.
> > 
> > this is what i think happens, when I put the card in, it sets off some
> > functions that will try to get a driver for the card I just inserted.
> > when it gets to the pci_bus_match function, my cards vendor and device 
> > numbers are tested against a drivers id_table. when that driver is 
> > "i810fb, i810_audio or intel-agp" (and i810fb, i810_audio or intel-agp
> > is allready loaded) the id_table is at an address that cant be handled, 
> > thus cauing the oops. I am having trouble figuring out why 
> > pci_drv->id_table isnt valid in this case.
> 
> Everything seems happy here:
> 
> vmm:/home/akpm> lsmod
> Module                  Size  Used by
> i810fb                 31572  0 
> cfbcopyarea             4700  1 i810fb
> vgastate               10660  1 i810fb
> cfbimgblt               4068  1 i810fb
> cfbfillrect             4820  1 i810fb
> intel_agp              16940  1 
> agpgart                32496  1 intel_agp
> i810_audio             34208  0 
> ac97_codec             18932  1 i810_audio
> rtc                    15744  0 
> 
> Can you do modprobe-by-hand, see which one causes the oops?

I will try to explain the problem better.

First of all, I can modprobe all three of these modules with no problems.

the oops only occurs when one of these modules are modprobed
_before_ I insert a card into my cardbus.

With no modules inserted, I can insert my card into the cardbus slot 
with no problems. This is what my log looks like. (with my debugging printk)

Jul 29 00:28:48 localhost kernel:  (pci_bus_add_devices) bus 3 devfn 0  1260 3890
Jul 29 00:28:48 localhost kernel: pci_bus_match: bus=3, devfn=0 1260 3890
Jul 29 00:28:48 localhost kernel:  ^ matching? ^ (serial)  ((( &ids->vendor = c0397314 )))
Jul 29 00:28:48 localhost kernel: pci_match_device: &ids->vendor = c0397314
Jul 29 00:28:48 localhost kernel: pci_bus_match: bus=3, devfn=0 1260 3890
Jul 29 00:28:48 localhost kernel:  ^ matching? ^ (eepro100)  ((( &ids->vendor = c0398a60 )))
Jul 29 00:28:48 localhost kernel: pci_match_device: &ids->vendor = c0398a60
Jul 29 00:28:48 localhost kernel: pci_bus_match: bus=3, devfn=0 1260 3890
Jul 29 00:28:48 localhost kernel:  ^ matching? ^ (PCI IDE)  ((( &ids->vendor = c039a630 )))
Jul 29 00:28:48 localhost kernel: pci_match_device: &ids->vendor = c039a630
Jul 29 00:28:48 localhost kernel: pci_bus_match: bus=3, devfn=0 1260 3890
Jul 29 00:28:48 localhost kernel:  ^ matching? ^ (yenta_cardbus)  ((( &ids->vendor = c039df98 )))
Jul 29 00:28:48 localhost kernel: pci_match_device: &ids->vendor = c039df98
Jul 29 00:28:48 localhost pci.agent: ... no modules for PCI slot 0000:03:00.0

then I take my card out of its slot and 
then modprobe i810fb (I could modprobe i810_audio or intel-agp or 
all three at the same time)

Jul 29 00:33:48 localhost kernel: pci_bus_match: bus=0, devfn=0 8086 3575
Jul 29 00:33:48 localhost kernel:  ^ matching? ^ (i810fb)  ((( &ids->vendor = d094ee7c )))
Jul 29 00:33:48 localhost kernel: pci_match_device: &ids->vendor = d094ee7c
Jul 29 00:33:48 localhost kernel: pci_bus_match: bus=0, devfn=16 8086 3577
Jul 29 00:33:48 localhost kernel:  ^ matching? ^ (i810fb)  ((( &ids->vendor = d094ee7c )))
Jul 29 00:33:48 localhost kernel: pci_match_device: &ids->vendor = d094ee7c
Jul 29 00:33:48 localhost kernel: pci_bus_match: bus=0, devfn=17 8086 3577
Jul 29 00:33:48 localhost kernel:  ^ matching? ^ (i810fb)  ((( &ids->vendor = d094ee7c )))
Jul 29 00:33:48 localhost kernel: pci_match_device: &ids->vendor = d094ee7c
Jul 29 00:33:48 localhost kernel: pci_bus_match: bus=0, devfn=232 8086 2482
Jul 29 00:33:48 localhost kernel:  ^ matching? ^ (i810fb)  ((( &ids->vendor = d094ee7c )))
Jul 29 00:33:48 localhost kernel: pci_match_device: &ids->vendor = d094ee7c
[..snip..]

then when i insert my card again this is when the oops occurs:

Jul 29 00:40:12 localhost kernel:  (pci_bus_add_devices) bus 3 devfn 0  1260 3890
Jul 29 00:40:12 localhost kernel: pci_bus_match: bus=3, devfn=0 1260 3890
Jul 29 00:40:12 localhost kernel:  ^ matching? ^ (serial)  ((( &ids->vendor = c0397314 )))
Jul 29 00:40:12 localhost kernel: pci_match_device: &ids->vendor = c0397314
Jul 29 00:40:12 localhost kernel: pci_bus_match: bus=3, devfn=0 1260 3890
Jul 29 00:40:12 localhost kernel:  ^ matching? ^ (eepro100)  ((( &ids->vendor = c0398a60 )))
Jul 29 00:40:12 localhost kernel: pci_match_device: &ids->vendor = c0398a60
Jul 29 00:40:12 localhost kernel: pci_bus_match: bus=3, devfn=0 1260 3890
Jul 29 00:40:12 localhost kernel:  ^ matching? ^ (PCI IDE)  ((( &ids->vendor = c039a630 )))
Jul 29 00:40:12 localhost kernel: pci_match_device: &ids->vendor = c039a630
Jul 29 00:40:12 localhost kernel: pci_bus_match: bus=3, devfn=0 1260 3890
Jul 29 00:40:12 localhost kernel:  ^ matching? ^ (yenta_cardbus)  ((( &ids->vendor = c039df98 )))
Jul 29 00:40:12 localhost kernel: pci_match_device: &ids->vendor = c039df98
Jul 29 00:40:12 localhost pci.agent: ... no modules for PCI slot 0000:03:00.0
Jul 29 00:40:12 localhost kernel: pci_bus_match: bus=3, devfn=0 1260 3890
Jul 29 00:40:12 localhost kernel:  ^ matching? ^ (i810fb)  ((( &ids->vendor = d094ee7c )))
Jul 29 00:40:12 localhost kernel: pci_match_device: &ids->vendor = d094ee7c
Jul 29 00:40:12 localhost kernel: Unable to handle kernel paging request at virtual address d094ee7c
Jul 29 00:40:12 localhost kernel:  printing eip:
Jul 29 00:40:12 localhost kernel: c01f7da3
Jul 29 00:40:12 localhost kernel: *pde = 0f913067
Jul 29 00:40:12 localhost kernel: *pte = 00000000
Jul 29 00:40:12 localhost kernel: Oops: 0000 [#1]
Jul 29 00:40:12 localhost kernel: CPU:    0
Jul 29 00:40:12 localhost kernel: EIP:    0060:[quirk_transparent_bridge+15/20]    Not tainted
Jul 29 00:40:12 localhost kernel: EIP:    0060:[<c01f7da3>]    Not tainted
Jul 29 00:40:12 localhost kernel: EFLAGS: 00010286
Jul 29 00:40:12 localhost kernel: EIP is at pci_match_device+0x73/0x90
Jul 29 00:40:12 localhost kernel: eax: 0000002a   ebx: d094ee7c   ecx: 00000001   edx: c035fa38
Jul 29 00:40:12 localhost kernel: esi: c67c4004   edi: c67c4004   ebp: cf619e94   esp: cf619e84
Jul 29 00:40:12 localhost kernel: ds: 007b   es: 007b   ss: 0068
Jul 29 00:40:12 localhost kernel: Process pccardd (pid: 9, threadinfo=cf618000 task=cf636000)
Jul 29 00:40:12 localhost kernel: Stack: c031aa20 d094ee7c d096e800 d094ee7c cf619eb4 c01f84fb d094ee7c c67c4004 
Jul 29 00:40:12 localhost kernel:        ffffffed d096e828 c67c4058 c039e09c cf619ed0 c021f0f9 c67c4058 d096e828 
Jul 29 00:40:12 localhost kernel:        d096e870 c03918f4 c67c4058 cf619eec c021f18a c67c4058 d096e828 c0391880 
Jul 29 00:40:12 localhost kernel: Call Trace:
Jul 29 00:40:12 localhost kernel:  [pci_free_dynids+3/360] pci_bus_match+0x5f/0x2b0
Jul 29 00:40:12 localhost kernel:  [<c01f84fb>] pci_bus_match+0x5f/0x2b0
Jul 29 00:40:12 localhost kernel:  [acpi_tb_verify_table_checksum+113/148] bus_match+0x21/0x64
Jul 29 00:40:12 localhost kernel:  [<c021f0f9>] bus_match+0x21/0x64
Jul 29 00:40:12 localhost kernel:  [acpi_tb_find_table+58/308] device_attach+0x4e/0x70
Jul 29 00:40:12 localhost kernel:  [<c021f18a>] device_attach+0x4e/0x70
Jul 29 00:40:12 localhost kernel:  [acpi_get_firmware_table+126/848] bus_add_device+0x72/0xb4
Jul 29 00:40:12 localhost kernel:  [<c021f302>] bus_add_device+0x72/0xb4
Jul 29 00:40:12 localhost kernel:  [acpi_tb_verify_rsdp+320/344] device_add+0xd0/0x108
Jul 29 00:40:12 localhost kernel:  [<c021dc40>] device_add+0xd0/0x108
Jul 29 00:40:12 localhost kernel:  [pci_bus_write_config_word+100/324] pci_bus_add_devices+0x50/0x300
Jul 29 00:40:12 localhost kernel:  [<c01f4864>] pci_bus_add_devices+0x50/0x300
Jul 29 00:40:12 localhost kernel:  [i830_cleanup_buf_error+121/184] cb_alloc+0xad/0xc8
Jul 29 00:40:12 localhost kernel:  [<c02553cd>] cb_alloc+0xad/0xc8
Jul 29 00:40:12 localhost kernel:  [agp_3_5_isochronous_node_enable+342/1020] socket_insert+0x56/0xa4
Jul 29 00:40:12 localhost kernel:  [<c0252362>] socket_insert+0x56/0xa4
Jul 29 00:40:12 localhost kernel:  [agp_3_5_isochronous_node_enable+869/1020] socket_detect_change+0x69/0x70
Jul 29 00:40:13 localhost kernel:  [<c0252571>] socket_detect_change+0x69/0x70
Jul 29 00:40:13 localhost kernel:  [agp_3_5_enable+167/704] pccardd+0x1ef/0x2a0
Jul 29 00:40:13 localhost kernel:  [<c0252767>] pccardd+0x1ef/0x2a0
Jul 29 00:40:13 localhost kernel:  [agp_3_5_isochronous_node_enable+876/1020] pccardd+0x0/0x2a0
Jul 29 00:40:13 localhost kernel:  [<c0252578>] pccardd+0x0/0x2a0
Jul 29 00:40:13 localhost kernel:  [schedule+404/1156] default_wake_function+0x0/0x20
Jul 29 00:40:13 localhost kernel:  [<c011ae7c>] default_wake_function+0x0/0x20
Jul 29 00:40:13 localhost kernel:  [schedule+404/1156] default_wake_function+0x0/0x20
Jul 29 00:40:13 localhost kernel:  [<c011ae7c>] default_wake_function+0x0/0x20
Jul 29 00:40:13 localhost kernel:  [kernel_thread_helper+5/12] kernel_thread_helper+0x5/0xc
Jul 29 00:40:13 localhost kernel:  [<c01070c5>] kernel_thread_helper+0x5/0xc
Jul 29 00:40:13 localhost kernel: 
Jul 29 00:40:13 localhost kernel: Code: 83 3b 00 75 a0 83 7b 08 00 75 9a 83 7b 14 00 75 94 31 c0 8d 

I hope this makes sense.

  reply	other threads:[~2003-07-29  7:24 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-28 17:18 OOPS 2.6.0-test2, modprobe i810fb Pavel Rabel
2003-07-29  2:19 ` S. Anderson
2003-07-29  3:26   ` Andrew Morton
2003-07-29  5:18     ` S. Anderson
2003-07-29  5:32       ` Andrew Morton
2003-07-30  2:56         ` Bill Davidsen
2003-07-30 20:56           ` Michael Driscoll
2003-07-29  5:59       ` Andrew Morton
2003-07-29  7:24         ` S. Anderson [this message]
2003-07-29  7:54           ` Andrew Morton
2003-07-29  8:18             ` S. Anderson
2003-07-29 12:00             ` Alan Cox
2003-07-29 19:59               ` Andrew Morton
2003-07-29 23:04               ` S. Anderson
2003-07-29  9:34     ` Pavel Rabel

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=20030729012417.A18449@xmission.xmission.com \
    --to=sa@xmission.com \
    --cc=adaplas@pol.net \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pavel@xal.co.uk \
    /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;
as well as URLs for NNTP newsgroup(s).