Re: [v3.11][v3.12][v3.13][Regression] EISA: Initialize device beforeits resources

From: Joseph Salisbury
Date: Fri Jan 17 2014 - 14:26:38 EST


On 01/17/2014 12:02 PM, Bjorn Helgaas wrote:
> On Thu, Jan 16, 2014 at 01:14:01PM -0500, Joseph Salisbury wrote:
>> On 01/16/2014 01:12 PM, Bjorn Helgaas wrote:
>>> On Thu, Jan 16, 2014 at 10:53 AM, Joseph Salisbury
>>> <joseph.salisbury@xxxxxxxxxxxxx> wrote:
>>>> Hi Bjorn,
>>>>
>>>> A kernel bug was opened against Ubuntu [0]. After a kernel bisect, it
>>>> was found the following commit introduced this bug:
>>> Sorry about that, and thanks for the report. Did you mean to include
>>> URL for the bug?
>> Yes, sorry about that:
>> http://pad.lv/1251816
> Hi Joseph,
>
> Can you attach the 3.8.0-32-generic config (the one matching the successful
> boot at https://launchpadlibrarian.net/156685076/BootDmesg.txt) to the bug?

I attached the config file to the bug:
https://launchpadlibrarian.net/162754666/config.common.ubuntu

I also attached a tar file with the complete config directory for that
kernel version.
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1251816/+attachment/3951156/+files/raring-config.tar

>
> The only way I can match up the output:
>
> EISA: Probing bus 0 at eisa.0
> Cannot allocate resource for EISA slot 1
> Cannot allocate resource for EISA slot 2
> Cannot allocate resource for EISA slot 4
> Cannot allocate resource for EISA slot 5
> EISA: Detected 0 cards.
>
> with the code is if we have root->force_probe set, and the only way I see for
> that to happen is if we're in the virtual_eisa_root_init() path and
> CONFIG_EISA_VLB_PRIMING=y:
>
> #if defined(CONFIG_ALPHA_JENSEN) || defined(CONFIG_EISA_VLB_PRIMING)
> #define EISA_FORCE_PROBE_DEFAULT 1
> #else
> #define EISA_FORCE_PROBE_DEFAULT 0
> #endif
>
> static int force_probe = EISA_FORCE_PROBE_DEFAULT;
>
> virtual_eisa_root_init
> eisa_bus_root.force_probe = force_probe
> eisa_root_register(&eisa_bus_root)
> eisa_probe(root)
> printk("EISA: Probing bus %d at %s")
> if (eisa_request_resources)
> printk("EISA: Cannot allocate resource for mainboard") # we don't see this
> if (eisa_init_device)
> eisa_release_resources
> kfree
> if (!root->force_probe)
> return -ENODEV
> goto force_probe
> printk("EISA: Mainboard %s detected") # we don't see this
>
> force_probe:
> for (i = 1; ...; i++)
> if (eisa_request_resources(i))
> printk("Cannot allocate resource for EISA slot %d", i)
> printk("EISA: Detected %d cards")
>
> Bjorn

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/