[PATCH 0/2] parport: parport_pc: Introduce option to disable checking for Intel bug

From: Matwey V. Kornilov
Date: Mon Jun 30 2014 - 04:48:33 EST


From: "Matwey V. Kornilov" <matwey@xxxxxxxxxx>
Date: Wed, 25 Jun 2014 00:53:54 +0400
Subject: [PATCH 0/2] parport: parport_pc: Introduce option to disable checking for Intel bug

Hi,

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 a 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.

Given that our knowledge of the initial problem is quite limited now,
I introduce special option for parport_pc, allowing user to disable check.
This won't introduce regressions.

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. Add force_epp module option for parport_pc.

Additional option `force_epp` for parport_pc is introduced.


The behaviour is the following:

modprobe parport_pc # check is enabled, given there is no defaults
# in /etc/modprobe.d/*
modprobe parport_pc force_epp=0 # check is enabled
modprobe parport_pc force_epp=1 # check is disabled


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

Tested-by: Heiko Andreas Sommer <hsommer@xxxxxxx>
Signed-off-by: Matwey V. Kornilov <matwey@xxxxxxxxxx>

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