Re: [PATCH v2] Enable A20 using KBC for some MSI laptops to fix S3resume

From: H. Peter Anvin
Date: Thu Oct 25 2012 - 15:00:35 EST


On 10/25/2012 01:17 AM, Ondrej Zary wrote:
> On Wednesday 24 October 2012, H. Peter Anvin wrote:
>> On 10/24/2012 02:16 PM, Ondrej Zary wrote:
>>> Some MSI laptop BIOSes are broken - INT 15h code uses port 92h to enable
>>> A20 line but resume code assumes that KBC was used.
>>> The laptop will not resume from S3 otherwise but powers off after a while
>>> and then powers on again stuck with a blank screen.
>>>
>>> Fix it by enabling A20 using KBC. Affected laptop list and DMI data are
>>> from bug reports at Ubuntu Launchpad.
>>>
>>> Also add kernel parameter to easily activate this quirk on any system.
>>>
>>> Only compile tested. The original patch was tested with EX600 and PR200.
>>>
>>> Fixes https://bugzilla.kernel.org/show_bug.cgi?id=12878
>>
>> Are we guaranteed that this executes *before* the keyboard driver
>> initializes? If not, this needs to use the i8042 interface in the input
>> subsystem or at least acquire i8042_lock.
>>
>> -hpa
>
> The code is called in:
> start_kernel()->setup_arch()->acpi_boot_table_init()
>
> I think that it's before any drivers are initialized.
>

Yes, that is very early indeed. Could you please, however, put in a
comment that this is safe specifically because it is invoked long before
the i8042 driver can possibly initialize?

-hpa


--
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/