Skip to content

Commit

Permalink
Input: keyboard - don't override beep with a bell
Browse files Browse the repository at this point in the history
The commit 66d2a59 introduces a bug:
for every beep requested, a bell is also generated.

Reported-by: Paul Martin <pm@debian.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
  • Loading branch information
Dmitry Torokhov committed Dec 16, 2009
1 parent 909275b commit 18f7ad5
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions drivers/char/keyboard.c
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,8 @@ int setkeycode(unsigned int scancode, unsigned int keycode)
}

/*
* Making beeps and bells.
* Making beeps and bells. Note that we prefer beeps to bells, but when
* shutting the sound off we do both.
*/

static int kd_sound_helper(struct input_handle *handle, void *data)
Expand All @@ -242,9 +243,12 @@ static int kd_sound_helper(struct input_handle *handle, void *data)
struct input_dev *dev = handle->dev;

if (test_bit(EV_SND, dev->evbit)) {
if (test_bit(SND_TONE, dev->sndbit))
if (test_bit(SND_TONE, dev->sndbit)) {
input_inject_event(handle, EV_SND, SND_TONE, *hz);
if (test_bit(SND_BELL, handle->dev->sndbit))
if (*hz)
return 0;
}
if (test_bit(SND_BELL, dev->sndbit))
input_inject_event(handle, EV_SND, SND_BELL, *hz ? 1 : 0);
}

Expand Down

0 comments on commit 18f7ad5

Please sign in to comment.