diff options
-rw-r--r-- | drivers/w1/w1.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/w1/w1.c b/drivers/w1/w1.c index 0781217d2396..fa932c2f7d97 100644 --- a/drivers/w1/w1.c +++ b/drivers/w1/w1.c | |||
@@ -716,7 +716,10 @@ static int w1_attach_slave_device(struct w1_master *dev, struct w1_reg_num *rn) | |||
716 | atomic_set(&sl->refcnt, 0); | 716 | atomic_set(&sl->refcnt, 0); |
717 | init_completion(&sl->released); | 717 | init_completion(&sl->released); |
718 | 718 | ||
719 | /* slave modules need to be loaded in a context with unlocked mutex */ | ||
720 | mutex_unlock(&dev->mutex); | ||
719 | request_module("w1-family-0x%0x", rn->family); | 721 | request_module("w1-family-0x%0x", rn->family); |
722 | mutex_lock(&dev->mutex); | ||
720 | 723 | ||
721 | spin_lock(&w1_flock); | 724 | spin_lock(&w1_flock); |
722 | f = w1_family_registered(rn->family); | 725 | f = w1_family_registered(rn->family); |