parport_find_base() will implicitly do parport_get_port() which
increases the refcount. Then parport_register_device() will again
increment the refcount. But while unloading the module we are only
doing parport_unregister_device() decrementing the refcount only once.
We add an parport_put_port() to neutralize the effect of
parport_get_port().

Cc: <sta...@vger.kernel.org> # 2.6.32+
Signed-off-by: Sudip Mukherjee <su...@vectorindia.org>
---
 drivers/auxdisplay/ks0108.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/auxdisplay/ks0108.c b/drivers/auxdisplay/ks0108.c
index 5b93852..0d75285 100644
--- a/drivers/auxdisplay/ks0108.c
+++ b/drivers/auxdisplay/ks0108.c
@@ -139,6 +139,7 @@ static int __init ks0108_init(void)
 
        ks0108_pardevice = parport_register_device(ks0108_parport, KS0108_NAME,
                NULL, NULL, NULL, PARPORT_DEV_EXCL, NULL);
+       parport_put_port(ks0108_parport);
        if (ks0108_pardevice == NULL) {
                printk(KERN_ERR KS0108_NAME ": ERROR: "
                        "parport didn't register new device\n");
-- 
1.8.1.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to