]> Pileus Git - ~andy/linux/blobdiff - net/bridge/br_sysfs_if.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable
[~andy/linux] / net / bridge / br_sysfs_if.c
index 02b2d50cce4da640f4b62a6652253d217e890af2..4a3cdf8f38131e6b19adf330a0e697a307a39e16 100644 (file)
@@ -189,7 +189,8 @@ static ssize_t brport_store(struct kobject * kobj,
 
        val = simple_strtoul(buf, &endp, 0);
        if (endp != buf) {
-               rtnl_lock();
+               if (!rtnl_trylock())
+                       return restart_syscall();
                if (p->dev && p->br && brport_attr->store) {
                        spin_lock_bh(&p->br->lock);
                        ret = brport_attr->store(p, val);