Re: PNP parallel&serial ports: module reload fails (2.6.11)?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Michael,

Michael Tokarev wrote:
[email protected] wrote:

Hi,

try pnpacpi=off in your kernel options and it should work.
An other solution is to comment pnpacpi_disable_resources in
drivers/pnp/pnpacpi/core.c in order to avoid that the resource are
disable.


Both ways solves this problem for me.  Now I can insmod/rmmod
parport_pc as many times as I want:

parport: PnPBIOS parport detected.
parport0: PC-style at 0x378, irq 7 [PCSPP]
pnp: Device 00:0b disabled.
pnp: Device 00:0b activated.
parport: PnPBIOS parport detected.
parport0: PC-style at 0x378, irq 7 [PCSPP]
pnp: Device 00:0b disabled.
pnp: Device 00:0b activated.
parport: PnPBIOS parport detected.
parport0: PC-style at 0x378, irq 7 [PCSPP]
....

BTW, how "stable" pnpacpi=off is?  I mean, is it supposed to
work on more hardware than current default acpi-aware method?

pnpacpi=off use the old PNP bios if it is enabled. It seem to work most of hardware that support it
(some recent acpi-only computer don't).
There could also have conflict if you use acpi and PNPBios together.

There was a problem in pnp layer implementation : the resource weren't
given in the right order, Adam Belay send me a patch, but I don't know
if it got in main-line ?


Which patch was that?  I can try it here, but can't seem to be able
to find it...

http://bugme.osdl.org/attachment.cgi?id=4504&action=view plus the attached ones.

May be there also a bug in pnpacpi_encode_resources (with the pnp patch
apply I didn't still work on some hardware...)

You can try to send your dsdt, but I am quit busy for the moment.
May be some Intel guy could look at the problem...


The DSDTs are at http://www.corpit.ru/mjt/hpml150.dsdt
and http://www.corpit.ru/mjt/hpml310.dsdt (that's a
(binary) copy from /proc/acpi/dsdt -- is there a way
to decode it into some text form?)

there is a dissasembler call iasl on intel site.

Matthieu

Index: drivers/pnp/resource.c
===================================================================
RCS file: /home/mat/dev/linux-cvs-rep/linux-cvs/drivers/pnp/resource.c,v
retrieving revision 1.21
diff -u -r1.21 resource.c
--- drivers/pnp/resource.c	10 Nov 2004 01:11:02 -0000	1.21
+++ drivers/pnp/resource.c	5 Feb 2005 22:29:34 -0000
@@ -42,7 +42,7 @@
 
 	option->priority = priority & 0xff;
 	/* make sure the priority is valid */
-	if (option->priority > PNP_RES_PRIORITY_FUNCTIONAL)
+	if (option->priority > PNP_RES_PRIORITY_INDEPENDENT)
 		option->priority = PNP_RES_PRIORITY_INVALID;
 
 	return option;
Index: drivers/pnp/pnpacpi/rsparser.c
===================================================================
RCS file: /home/mat/dev/linux-cvs-rep/linux-cvs/drivers/pnp/pnpacpi/rsparser.c,v
retrieving revision 1.2
diff -u -r1.2 rsparser.c
--- drivers/pnp/pnpacpi/rsparser.c	10 Nov 2004 01:11:02 -0000	1.2
+++ drivers/pnp/pnpacpi/rsparser.c	5 Feb 2005 22:01:14 -0000
@@ -506,7 +506,11 @@
 			parse_data->option = option;	
 			break;
 		case ACPI_RSTYPE_END_DPF:
-			return AE_CTRL_TERMINATE;
+			option = pnp_register_independent_option(dev);
+			if (!option)
+				return AE_ERROR;
+			parse_data->option = option;
+			break;
 		default:
 			pnp_warn("PnPACPI:Option type: %d not handle", res->id);
 			return AE_ERROR;

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux