Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d45fba36 authored by Wang Chen's avatar Wang Chen Committed by David S. Miller
Browse files

[8021Q]: Use proc_create() to setup ->proc_fops first



Use proc_create() to make sure that ->proc_fops be setup before gluing
PDE to main tree.

Signed-off-by: default avatarWang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 77020720
Loading
Loading
Loading
Loading
+4 −7
Original line number Diff line number Diff line
@@ -161,11 +161,10 @@ int __init vlan_proc_init(void)
	if (!proc_vlan_dir)
		goto err;

	proc_vlan_conf = create_proc_entry(name_conf, S_IFREG|S_IRUSR|S_IWUSR,
					   proc_vlan_dir);
	proc_vlan_conf = proc_create(name_conf, S_IFREG|S_IRUSR|S_IWUSR,
				     proc_vlan_dir, &vlan_fops);
	if (!proc_vlan_conf)
		goto err;
	proc_vlan_conf->proc_fops = &vlan_fops;
	return 0;

err:
@@ -182,13 +181,11 @@ int vlan_proc_add_dev(struct net_device *vlandev)
{
	struct vlan_dev_info *dev_info = vlan_dev_info(vlandev);

	dev_info->dent = create_proc_entry(vlandev->name,
					   S_IFREG|S_IRUSR|S_IWUSR,
					   proc_vlan_dir);
	dev_info->dent = proc_create(vlandev->name, S_IFREG|S_IRUSR|S_IWUSR,
				     proc_vlan_dir, &vlandev_fops);
	if (!dev_info->dent)
		return -ENOBUFS;

	dev_info->dent->proc_fops = &vlandev_fops;
	dev_info->dent->data = vlandev;
	return 0;
}