From: Mukesh Kacker Date: Tue, 2 Dec 2014 20:17:26 +0000 (-0800) Subject: RDS: mark netdev UP for intfs added post module load X-Git-Tag: v4.1.12-92~293^2^2~17 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=15f96ed48ff267f49b81185cf86432a4f6344fa2;p=users%2Fjedix%2Flinux-maple.git RDS: mark netdev UP for intfs added post module load When interfaces are brought up after module load, a NETDEV_UP event for which no matching port exists triggers re-initialization of active bonding data structures. The initialization however missed marking the layer as up in flag tracking which layers are up. The fix here marks that layer as UP in the flags since the initialization is triggered by the NETDEV_UP event processing! Orabug: 20130536 Signed-off-by: Mukesh Kacker Acked-by: Chien Yen < chien.yen@oracle.com> --- diff --git a/net/rds/ib.c b/net/rds/ib.c index 94a211414a150..459263bb79dca 100644 --- a/net/rds/ib.c +++ b/net/rds/ib.c @@ -2290,6 +2290,22 @@ static void rds_ib_joining_ip(struct work_struct *_work) ifa->ifa_broadcast, ifa->ifa_mask); } + /* + * Processing triggered by a NETDEV_UP event + * mark the NETDEV layer UP. + * (No failback/failover processing done for + * this initial NETDEV_UP event for a new + * device!) + */ + ip_config[port].port_layerflags |= + RDSIBP_STATUS_NETDEVUP; + if (!(ip_config[port].dev->flags & IFF_UP)) { + printk(KERN_WARNING "RDS/IB: Device %s " + "flag NOT marked UP in " + "NETDEV_UP(joining ip) " + "processing!\n", + ip_config[port].dev->name); + } } } printk(KERN_INFO "RDS/IB: Updated IP configuration..\n");