On Wednesday, December 16, 2015 07:33:22 AM Heiner Kallweit wrote: > I have a device (Nuvoton 6779D Super-IO IR RC with nuvoton-cir driver) > which works after initial boot but not any longer if I unload and > re-load the driver module. > > Digging into the issue I found that unloading the driver calls > pnp_disable_dev although the driver has flag PNP_DRIVER_RES_DO_NOT_CHANGE > set. IMHO this is not right. > > Let's have a look at the call chain when probing a device: > pnp_device_probe > 1. attaches the device > 2. if it's not active and PNP_DRIVER_RES_DO_NOT_CHANGE is not set > it gets activated > 3. probes driver > > I think pnp_device_remove should do it in reverse order and also > respect PNP_DRIVER_RES_DO_NOT_CHANGE. Therefore: > 1. call drivers remove callback > 2. if device is active and PNP_DRIVER_RES_DO_NOT_CHANGE is not set > disable it > 3. detach device > > The change works for me and sounds logical to me. > However I don't know the pnp driver in detail so I might be wrong. > > Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> Applied, thanks! Rafael -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html