]> rtime.felk.cvut.cz Git - socketcan-devel.git/commitdiff
In can_init(), call NETDEV_REGISTER notification for existing devices, like
authorhartkopp <hartkopp@030b6a49-0b11-0410-94ab-b0dab22257f2>
Wed, 6 Dec 2006 13:48:00 +0000 (13:48 +0000)
committerhartkopp <hartkopp@030b6a49-0b11-0410-94ab-b0dab22257f2>
Wed, 6 Dec 2006 13:48:00 +0000 (13:48 +0000)
done in the register_notifier() function in linux 2.6.

git-svn-id: svn://svn.berlios.de//socketcan/trunk@114 030b6a49-0b11-0410-94ab-b0dab22257f2

kernel/2.4/can/af_can.c

index 8d0cba258f66de12e3f206653aafadc621711706..d75839730151c22dea3916e461e94bcd0115c9ba 100644 (file)
@@ -152,6 +152,8 @@ module_exit(can_exit);
 
 static __init int can_init(void)
 {
+       struct net_device *dev;
+
        printk(banner);
 
        rcv_cache = kmem_cache_create("can_receiver", sizeof(struct receiver),
@@ -169,7 +171,16 @@ static __init int can_init(void)
 
        /* protocol register */
        sock_register(&can_family_ops);
+
+       /* netdevice notifier register & init currently existing devices */
+       read_lock_bh(&dev_base_lock);
        register_netdevice_notifier(&can_netdev_notifier);
+       for (dev = dev_base; dev; dev = dev->next)
+               can_netdev_notifier.notifier_call(&can_netdev_notifier,
+                                                 NETDEV_REGISTER,
+                                                 dev);
+       read_unlock_bh(&dev_base_lock);
+
        dev_add_pack(&can_packet);
 
        return 0;