|
@@ -59,6 +59,8 @@ static void lirc_release(struct device *ld)
|
|
{
|
|
{
|
|
struct irctl *ir = container_of(ld, struct irctl, dev);
|
|
struct irctl *ir = container_of(ld, struct irctl, dev);
|
|
|
|
|
|
|
|
+ put_device(ir->dev.parent);
|
|
|
|
+
|
|
if (ir->buf_internal) {
|
|
if (ir->buf_internal) {
|
|
lirc_buffer_free(ir->buf);
|
|
lirc_buffer_free(ir->buf);
|
|
kfree(ir->buf);
|
|
kfree(ir->buf);
|
|
@@ -218,6 +220,8 @@ int lirc_register_driver(struct lirc_driver *d)
|
|
|
|
|
|
mutex_unlock(&lirc_dev_lock);
|
|
mutex_unlock(&lirc_dev_lock);
|
|
|
|
|
|
|
|
+ get_device(ir->dev.parent);
|
|
|
|
+
|
|
dev_info(ir->d.dev, "lirc_dev: driver %s registered at minor = %d\n",
|
|
dev_info(ir->d.dev, "lirc_dev: driver %s registered at minor = %d\n",
|
|
ir->d.name, ir->d.minor);
|
|
ir->d.name, ir->d.minor);
|
|
|
|
|