Merge branch 'drm-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied...
[firefly-linux-kernel-4.4.55.git] / net / rfkill / core.c
index 0198191b756d81c2bd74321afc7abec4a724eadb..be90640a2774bfedb73a89ea340186428d2afdfd 100644 (file)
@@ -1024,7 +1024,6 @@ static int rfkill_fop_open(struct inode *inode, struct file *file)
         * start getting events from elsewhere but hold mtx to get
         * startup events added first
         */
-       list_add(&data->list, &rfkill_fds);
 
        list_for_each_entry(rfkill, &rfkill_list, node) {
                ev = kzalloc(sizeof(*ev), GFP_KERNEL);
@@ -1033,6 +1032,7 @@ static int rfkill_fop_open(struct inode *inode, struct file *file)
                rfkill_fill_event(&ev->ev, rfkill, RFKILL_OP_ADD);
                list_add_tail(&ev->list, &data->events);
        }
+       list_add(&data->list, &rfkill_fds);
        mutex_unlock(&data->mtx);
        mutex_unlock(&rfkill_global_mutex);