All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.