diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index bcf852c1a41b..6096f099b87b 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -5030,8 +5030,16 @@ static int hdd_set_features(struct net_device *net_dev, struct osif_vdev_sync *vdev_sync; errno = osif_vdev_sync_op_start(net_dev, &vdev_sync); - if (errno) - return errno; + if (errno) { + /* + * Only invoke from netdev_feature_update_work expected, + * which is from CLD inside. + * Ignore others from upper stack during loading phase, + * and return success to avoid failure print from kernel. + */ + hdd_debug("VDEV in transition, ignore set_features"); + return 0; + } errno = __hdd_set_features(net_dev, features);