On 30/06/14 09:48, Matwey V. Kornilov wrote:

The detection of Intel EPP bug is known to produce much false positives.
The new option is introduced to force enable EPP in spite of the test
result.

I can confirm that this check produces false positives on a range of hardware - I no longer have the machine that I experienced the problem with but when I posted about the issue in the past I had several responses from other users suffering from the problem.


Tested-by: Heiko Andreas Sommer <hsom...@eso.org>
Signed-off-by: Matwey V. Kornilov <mat...@sai.msu.ru>
---
  drivers/parport/parport_pc.c | 9 ++++++++-
  1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/parport/parport_pc.c b/drivers/parport/parport_pc.c
index 4b851bb..1a15b9c 100644
--- a/drivers/parport/parport_pc.c
+++ b/drivers/parport/parport_pc.c
@@ -105,6 +105,9 @@ static int user_specified;
         (defined(CONFIG_PARPORT_1284) && defined(CONFIG_PARPORT_PC_FIFO))
  static int verbose_probing;
  #endif
+#ifdef CONFIG_PARPORT_1284
+static int force_epp;
+#endif
  static int pci_registered_parport;
  static int pnp_registered_parport;

@@ -1765,7 +1768,7 @@ static int parport_EPP_supported(struct parport *pb)
          return 0;  /* No way to clear timeout */

      /* Check for Intel bug. */
-    if (intel_bug_present(pb))
+    if (!force_epp && intel_bug_present(pb))
          return 0;

      pb->modes |= PARPORT_MODE_EPP;
@@ -3148,6 +3151,10 @@ module_param_array(dma, charp, NULL, 0);
  MODULE_PARM_DESC(verbose_probing, "Log chit-chat during initialisation");
  module_param(verbose_probing, int, 0644);
  #endif
+#ifdef CONFIG_PARPORT_1284
+MODULE_PARM_DESC(force_epp, "Do not disable EPP when it is detected to
be broken (default is false)");

I think this needs some more explanation - how about
"Disable check for broken Intel EPP hardware that gives false positives on 2002 and newer hardware"

The 2002 date is based upon http://thread.gmane.org/gmane.linux.parport/322/focus=326

Last time fixing this was discussed Jonathan Nieder did some digging in the history and technical details and posted at the tail of the thread at

https://groups.google.com/forum/?_escaped_fragment_=topic/linux.debian.bugs.dist/nhK1ZU4x0Ok#!topic/linux.debian.bugs.dist/nhK1ZU4x0Ok


+module_param(force_epp, int, 0);
+#endif
  #ifdef CONFIG_PCI
  static char *init_mode;
  MODULE_PARM_DESC(init_mode,

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to