Re: [PATCH 1/8] eeepc-laptop: Register as a pci-hotplug device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 6/26/09, Len Brown <lenb@xxxxxxxxxx> wrote:
> From: Corentin Chary <corentincj@xxxxxxxxxx>
>
> The eee contains a logically (but not physically) hotpluggable PCIe slot.
> Currently this is handled by adding or removing the PCI device in response
> to rfkill events, but if a user has forced pciehp to bind to it (with the
> force=1 argument) then both drivers will try to handle the event and
> hilarity (in the form of oopses) will ensue. This can be avoided by having
> eee-laptop register the slot as a hotplug slot. Only one of pciehp and
> eee-laptop will successfully register this, avoiding the problem.
>
> Signed-off-by: Matthew Garrett <mjg@xxxxxxxxxx>
> Signed-off-by: Corentin Chary <corentincj@xxxxxxxxxx>
> Tested-by: Darren Salt <linux@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
> Signed-off-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
> Signed-off-by: Len Brown <len.brown@xxxxxxxxx>

Actually this only solves half the problem.

> +	result = eeepc_setup_pci_hotplug();
> +	/*
> +	 * If we get -EBUSY then something else is handling the PCI hotplug -
> +	 * don't fail in this case
> +	 */
> +	if (result == -EBUSY)
> +		return 0;
> +	else if (result)
> +		goto pci_fail;
> +
>  	return 0;

It works fine if eeepc-laptop is loaded first, preventing pciehp from
messing with the hardware.  But it doesn't stop eeepc-laptop from
messing with the hardware if pciehp is loaded first.  In that case,
eeepc-laptop fails to register as a PCI hotplug device, but it still
messes with the hardware.

I have tested this - if I do

modprobe -r eeepc-laptop
modprobe pciehp pciehp_force=1
modprobe eeepc-laptop

and press the wireless-toggle key a couple of times, I get a lovely
set of oopses and a non-responsive system.

Thanks
Alan
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux