--- drivers/char/lp.c.orig 2006-03-20 06:53:29.000000000 +0100 +++ drivers/char/lp.c 2006-09-06 11:56:52.000000000 +0200 @@ -153,6 +153,8 @@ static struct parport *console_registered; // initially NULL #endif /* CONFIG_LP_CONSOLE */ +static int disable_ecp = 0; + #undef LP_DEBUG /* Bits used to manage claiming the parport device */ @@ -534,7 +536,8 @@ } /* Determine if the peripheral supports ECP mode */ lp_claim_parport_or_block (&lp_table[minor]); - if ( (lp_table[minor].dev->port->modes & PARPORT_MODE_ECP) && + if ( !disable_ecp && + (lp_table[minor].dev->port->modes & PARPORT_MODE_ECP) && !parport_negotiate (lp_table[minor].dev->port, IEEE1284_MODE_ECP)) { printk (KERN_INFO "lp%d: ECP mode\n", minor); @@ -760,6 +763,7 @@ module_param_array(parport, charp, NULL, 0); module_param(reset, bool, 0); +module_param(disable_ecp, bool, 0); #ifndef MODULE static int __init lp_setup (char *str)