lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 18 Oct 2017 16:36:49 +0800
From:   Daniel Drake <drake@...lessm.com>
To:     Andy Shevchenko <andy@...radead.org>,
        "Rafael J. Wysocki" <rafael.j.wysocki@...el.com>
Cc:     LKML <linux-kernel@...r.kernel.org>, linux-pci@...r.kernel.org,
        x86@...nel.org,
        QCA ath9k Development <ath9k-devel@....qualcomm.com>,
        Linux Upstreaming Team <linux@...lessm.com>,
        Thomas Gleixner <tglx@...utronix.de>,
        AceLan Kao <acelan.kao@...onical.com>
Subject: PCIe legacy interrupts blocked on Intel Apollo Lake platforms

[retitling and re-summarizing in hope of attention from Intel]

Andy / Rafael,

Thomas Gleixner suggested that you might be able to help with a nasty
issue related to Intel Apollo Lake platforms - or you can put us in
contact with another relevant person at Intel.

On Thu, Oct 5, 2017 at 6:13 PM, Thomas Gleixner <tglx@...utronix.de> wrote:
>> We have tried taking the mini-PCIe wifi module out of one of the affected
>> Acer products and moved it to another computer, where it is working fine
>> with legacy interrupts. So this suggests that the wifi module itself is OK,
>> but we are facing a hardware limitation or BIOS limitation on the affected
>> products. In the Dell thread it says "Some platform(BIOS) blocks legacy
>> interrupts (INTx)".
>>
>> If you have any suggestions for how we might solve this without getting into
>> the MSI mess then that would be much appreciated. If the BIOS blocks the
>> interrupts, can Linux unblock them?
>
> I'm pretty sure we can. Cc'ed Rafael and Andy. They might know, if not they
> certainly know whom to ask @Intel.

To summarize the issue:

At least 8 new Acer consumer laptop products based on Intel Apollo
Lake are unable to deliver legacy interrupts from the ath9k miniPCIe
wifi card to the host. This results in wifi connectivity being
unusable on those systems.

This also seems to affect the 4 Dell systems included in this patch series:
  https://lkml.org/lkml/2017/9/26/55
at least 2 of which are also Apollo Lake (can't find specs for the other 2).

We know that the wifi module itself is OK, since we can take it to
another laptop and it delivers legacy interrupts just fine.

We know that this is not a fundamental limitation of Intel Apollo
Lake, since we have other Apollo Lake products in hand with ath9k wifi
modules and legacy interrupts work fine there.

We would like to switch to MSI interrupts instead, but unfortunately
ath9k seems to have a hardware bug in that it corrupts the MSI message
data, see:

  ath9k hardware corrupts MSI Message Data, raises wrong interrupt
  https://marc.info/?l=linux-pci&m=150238260826803&w=2

We have explored workarounds for this on the Linux side, but that has
turned out to be unattractive and impractical:

  [PATCH] PCI MSI: allow alignment restrictions on vector allocation
  https://marc.info/?t=150631283200001&r=1&w=2

Interrupt remapping could probably help us avoid this MSI problem, but
unfortunately that's not available on the affected platforms:

  DMAR table missing, Intel IOMMU not available
  https://lists.linuxfoundation.org/pipermail/iommu/2017-August/023717.html

So now, digging for other options, I would like to explore the theory
mentioned on the Dell thread that the BIOS is blocking legacy
interrupts on these platforms. The question for Intel is: if the BIOS
is blocking legacy interrupts, can Linux unblock them? (and how)

I have Apollo Lake platforms here which exhibit the issue, and also
other Apollo Lake platforms that work fine, so let me know where I can
help look for differences (register dumps etc)

Thanks
Daniel

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ