diff --git a/[refs] b/[refs] index ded63ca7aa69..dc825c65cd1c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5f4ba04ffd8fc9f6b15b92270ef0517ae52dcf3a +refs/heads/master: 8442c87d2f6c73cdc9a391e4dd9390523d242bda diff --git a/trunk/drivers/input/ff-memless.c b/trunk/drivers/input/ff-memless.c index 6790e975a98c..bc4e40f3ede7 100644 --- a/trunk/drivers/input/ff-memless.c +++ b/trunk/drivers/input/ff-memless.c @@ -397,8 +397,9 @@ static int ml_ff_playback(struct input_dev *dev, int effect_id, int value) { struct ml_device *ml = dev->ff->private; struct ml_effect_state *state = &ml->states[effect_id]; + unsigned long flags; - spin_lock_bh(&ml->timer_lock); + spin_lock_irqsave(&ml->timer_lock, flags); if (value > 0) { debug("initiated play"); @@ -424,7 +425,7 @@ static int ml_ff_playback(struct input_dev *dev, int effect_id, int value) ml_play_effects(ml); } - spin_unlock_bh(&ml->timer_lock); + spin_unlock_irqrestore(&ml->timer_lock, flags); return 0; }