Messages in this thread | | | Date | Mon, 30 Jun 2014 23:47:01 +0100 | From | Adam Baker <> | Subject | Re: [Linux-parport] [PATCH 2/2] parport: parport_pc: Add force_epp module option for parport_pc. |
| |
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 <hsommer@eso.org> > Signed-off-by: Matwey V. Kornilov <matwey@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,
| |