diff --git a/[refs] b/[refs] index 1bd7dcdbcbce..a004e5346577 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 34ccd8738e34180af34544d2bdd053e60e44a224 +refs/heads/master: 9d1817cab2f030f6af360e961cc69bb1da8ad765 diff --git a/trunk/drivers/w1/w1.c b/trunk/drivers/w1/w1.c index 7994d933f040..7ce277d2bb67 100644 --- a/trunk/drivers/w1/w1.c +++ b/trunk/drivers/w1/w1.c @@ -924,7 +924,8 @@ void w1_search(struct w1_master *dev, u8 search_type, w1_slave_found_callback cb tmp64 = (triplet_ret >> 2); rn |= (tmp64 << i); - if (kthread_should_stop()) { + /* ensure we're called from kthread and not by netlink callback */ + if (!dev->priv && kthread_should_stop()) { mutex_unlock(&dev->bus_mutex); dev_dbg(&dev->dev, "Abort w1_search\n"); return;