| From bab383de3b84e584b0f09227151020b2a43dc34c Mon Sep 17 00:00:00 2001 |
| From: Sudip Mukherjee <sudipm.mukherjee@gmail.com> |
| Date: Mon, 20 Jul 2015 17:27:21 +0530 |
| Subject: auxdisplay: ks0108: fix refcount |
| |
| commit bab383de3b84e584b0f09227151020b2a43dc34c upstream. |
| |
| 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(). |
| |
| Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Zefan Li <lizefan@huawei.com> |
| --- |
| drivers/auxdisplay/ks0108.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- 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"); |