[PATCHv5 0/2] parport: parport_pc: Fix false-positives at checking for Intel bug

From: matwey
Date: Wed Aug 27 2014 - 04:09:44 EST

From: "Matwey V. Kornilov" <matwey@xxxxxxxxxx>


The following patch series is to deal with the issue on false-positives
of Intel EPP bug check [1].

More than a decade ago, the check was introduced in order to prevent EPP
operation on the some Intel LPT chipsets. The main issue to defence from
was CPU hang at EPP operation on broken chipsets. It is mentioned that
affected chipsets are Intel 82091. However, it is not known whether
there are others.

The check was implemented in strange manner. Now, there is no explanations
why. The check itself now leads to the false-positives, disabling EPP on
many PC-s (Dell OptiPlex series for instance). The latter is an issue.

Here is new version of the patches supposed to shrink the set of the false-positives.
We know that the initial problem arises on x86 with motherboard LPT controller.
The patches following are to enable initial check only for x86 and non-PCI based devices.
It is hard to correctly determine which CPUs could be installed into PentiumPro-compatible
socket, so I postponed initial Alan's suggestion.

For those who want to check theirs hardware, there's prebuilt usb-stick image available:

The patches organized as following:

1. Introduce-intel_bug_present-function

The transparent refactoring of the check is performed.
Make the check be immutable regarding to ECR register.

2. Implement architecture and device check to cut off false-positives

Run the initial check only for x86, and for 'legacy' devices.

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=630593

Signed-off-by: Matwey V. Kornilov <matwey@xxxxxxxxxx>

Changes from v4:
- Revert to v1 and implement different checks: arch and PCI-based.

Changes from v3:
- Do not introduce the additional option, rely on CPU model instead.

Changes from v2:
- The module option has more clear description

Changes from v1:
- Patch 1 fetched from right branch and now compiled

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/