All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Justin P. Mattock" <justinmattock@gmail.com>
To: Valdis.Kletnieks@vt.edu
Cc: Linux Kernel <linux-kernel@vger.kernel.org>,
	Bernhard Kaindl <bk@suse.de>
Subject: Re: PANIC: early exception 08 rip 246:10 error ffffffff810251b5 cr2 0
Date: Mon, 26 Oct 2009 14:16:34 -0700	[thread overview]
Message-ID: <4AE611B2.1030409@gmail.com> (raw)
In-Reply-To: <21504.1256588976@turing-police.cc.vt.edu>

Valdis.Kletnieks@vt.edu wrote:
> On Mon, 26 Oct 2009 11:34:20 PDT, Justin Mattock said:
>
>    
>> I can't seem to locate a right mailing list
>> for ieee1394 for Linux. Anyways here is a
>> url to flickr which has the image of the PANIC:
>> http://www.flickr.com/photos/44066293@N08/4046711653/
>> (hopefully you don't need to sign up to view)
>>
>> As for the problem, interesting thing here is if I add
>> a printk to:
>>
>> if ((class == 0xffffffff))
>> printk(KERN_BUG "init_ohci1394_dma: finished initializing OHCI DMA\n");
>> continue; /* No device at this func */
>>
>> the system will boot-up, and the PANIC will not occur.
>>      
>
> Note that just sticking a printk in there without a { } pair enclosing
> the printk and continue will change the semantics drastically - if the
> conditional is true, it will do the printk instead of continuing. And
> possibly more important, the continue just became unconditional.
>
> What *exactly* does your code look like now?
>    
as of now in init_ohci1394_dma.c
I did:



void __init init_ohci1394_dma_on_all_controllers(void)
{
     int num, slot, func;

     if (!early_pci_allowed())
         return;

     /* Poor man's PCI discovery, the only thing we can do at early boot */
     for (num = 0; num < 32; num++) {
         for (slot = 0; slot < 32; slot++) {
             for (func = 0; func < 8; func++) {
                 u32 class = read_pci_config(num,slot,func,
                             PCI_CLASS_REVISION);
                 if ((class == 0xffffffff))
+                    printk(KERN_DEBUG "putting a printk here keeps the 
machine from a panic\n");
                     continue; /* No device at this func */

                 if (class>>8 != PCI_CLASS_SERIAL_FIREWIRE_OHCI)
                     continue; /* Not an OHCI-1394 device */

                 init_ohci1394_controller(num, slot, func);
                 break; /* Assume one controller per device */
             }
         }
     }
     printk(KERN_INFO "init_ohci1394_dma: finished initializing OHCI 
DMA\n");
}


interesting thing here, is I just was wanting to see were this thing was
crashing. when adding this in(above) Ill see a long string during boot
for a few seconds and then the machine boots up.
  Now if I add a printk(example below) to here:



void __init init_ohci1394_dma_on_all_controllers(void)
{
     int num, slot, func;

     if (!early_pci_allowed())
         return;

     /* Poor man's PCI discovery, the only thing we can do at early boot */
     for (num = 0; num < 32; num++) {
         for (slot = 0; slot < 32; slot++) {
             for (func = 0; func < 8; func++) {
                 u32 class = read_pci_config(num,slot,func,
                             PCI_CLASS_REVISION);
                 if ((class == 0xffffffff))
                     continue; /* No device at this func */

                 if (class>>8 != PCI_CLASS_SERIAL_FIREWIRE_OHCI)
+                    printk(KERN_DEBUG "putting a printk here keeps the 
machine from a panic\n");
                     continue; /* Not an OHCI-1394 device */

                 init_ohci1394_controller(num, slot, func);
                 break; /* Assume one controller per device */
             }
         }
     }
     printk(KERN_INFO "init_ohci1394_dma: finished initializing OHCI 
DMA\n");
}



In dmesg I will see maybe 5 to 10 debug messages and then
onto init_ohci1394_initialize.
keep in mind I'm not familiar with any of this, but just looking
at the code I see 0xffffffff and searching(google) tells me
that that's something with 32bit, should maybe there be something
with 0xffffffffffffffffff 64bit?

Justin P. Mattock



  reply	other threads:[~2009-10-26 21:22 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-23 23:45 PANIC: early exception 08 rip 246:10 error ffffffff810251b5 cr2 0 Justin P. Mattock
2009-10-26 18:34 ` Justin Mattock
2009-10-26 20:29   ` Valdis.Kletnieks
2009-10-26 21:16     ` Justin P. Mattock [this message]
2009-10-27  6:23       ` Valdis.Kletnieks
2009-10-27 18:57         ` Justin P. Mattock
2009-10-27 19:07         ` Justin P. Mattock
2009-10-27 19:35           ` Valdis.Kletnieks
2009-10-27 20:34             ` Justin P. Mattock
2009-10-28  3:56             ` Justin P. Mattock

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=4AE611B2.1030409@gmail.com \
    --to=justinmattock@gmail.com \
    --cc=Valdis.Kletnieks@vt.edu \
    --cc=bk@suse.de \
    --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 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.