Fix DMA resource allocation in ACPIPnP
authorVojtech Pavlik <vojtech@suse.cz>
Fri, 7 Apr 2006 18:00:27 +0000 (20:00 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 18 Oct 2006 18:36:11 +0000 (11:36 -0700)
commitccc4c7bbd6a2d47bf5899c2c8cf2e0d176a4dc0f
tree24bd806a028fe5e1ac75eb55fdad0927fc104f69
parentb5e4efe7e061ff52ac97b9fa45acca529d8daeea
Fix DMA resource allocation in ACPIPnP

The ACPIPnP implementation had the understanding of Linux resource flags very
wrong, resulting in a nonfunctional implementation of DMA resource
allocation.

This was usually not a problem, since almost no on-board PnP devices use ISA
DMA, with the exception of ECP parallel ports. Even with that, parallel port
DMA is preconfigured by the BIOS, so this routine isn't normally called.

Except in the case where somebody does 'rmmod parport_pc; modprobe
parport_pc', where the rmmod case disables the ECP parallel port resources,
and they need to be enabled again to initialize the module. This didn't
work, resulting in a non-printing printer.

The application doing exactly the above to force reprobing of printers is
the YaST printer module. Thus without this fix YaST wedged the printer when
configuring it, and was not able to print a test page.

Reported-by: Ralf Flaxa <rf@suse.de>
Reproduced-by: Jiri Dluhos <jdluhos@suse.cz>
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/pnp/pnpacpi/rsparser.c