I have been trying to find out why the PnP BIOS driver causes the disabling of all the PnP-configurable devices on my ThinkPad 600. (One other user has reported the same problem.) I've been checking the pnp_bios.c driver against the spec and I found one little nit. The spec says that after this call to the BIOS: Q2_SET_SEL(PNP_TS1, nodenum, sizeof(char)); Q2_SET_SEL(PNP_TS2, data, 64 * 1024); status = call_pnp_bios(PNP_GET_SYS_DEV_NODE, 0, PNP_TS1, 0, PNP_TS2, boot ? 2 : 1, PNP_DS, 0); nodenum will be set to the next node number, or to 0xFF if there are no more nodes. I added a check so that the build-devlist loop will terminate if nodenum is 0xff. This didn't solve my problem but it does seem like the kosher thing to do. The patch also initializes the variable "num" to zero. I know that static variables in the kernel are automatically initialized to zero, but I assume that the same is not true of stack variables. Am I wrong? The attached patch is against -ac13. Sorry, but the -ac15 differential patch hasn't come out yet. :( Thomas