Loading drivers/input/serio/serio.c +14 −2 Original line number Diff line number Diff line Loading @@ -118,6 +118,8 @@ static int serio_match_port(const struct serio_device_id *ids, struct serio *ser static void serio_bind_driver(struct serio *serio, struct serio_driver *drv) { int error; down_write(&serio_bus.subsys.rwsem); if (serio_match_port(drv->id_table, serio)) { Loading @@ -126,7 +128,17 @@ static void serio_bind_driver(struct serio *serio, struct serio_driver *drv) serio->dev.driver = NULL; goto out; } device_bind_driver(&serio->dev); error = device_bind_driver(&serio->dev); if (error) { printk(KERN_WARNING "serio: device_bind_driver() failed " "for %s (%s) and %s, error: %d\n", serio->phys, serio->name, drv->description, error); serio_disconnect_driver(serio); serio->dev.driver = NULL; goto out; } } out: up_write(&serio_bus.subsys.rwsem); Loading Loading
drivers/input/serio/serio.c +14 −2 Original line number Diff line number Diff line Loading @@ -118,6 +118,8 @@ static int serio_match_port(const struct serio_device_id *ids, struct serio *ser static void serio_bind_driver(struct serio *serio, struct serio_driver *drv) { int error; down_write(&serio_bus.subsys.rwsem); if (serio_match_port(drv->id_table, serio)) { Loading @@ -126,7 +128,17 @@ static void serio_bind_driver(struct serio *serio, struct serio_driver *drv) serio->dev.driver = NULL; goto out; } device_bind_driver(&serio->dev); error = device_bind_driver(&serio->dev); if (error) { printk(KERN_WARNING "serio: device_bind_driver() failed " "for %s (%s) and %s, error: %d\n", serio->phys, serio->name, drv->description, error); serio_disconnect_driver(serio); serio->dev.driver = NULL; goto out; } } out: up_write(&serio_bus.subsys.rwsem); Loading