Message ID | 20181021190721.2148-1-hpoussin@reactos.org |
---|---|
State | New |
Headers | show |
Series | ps2kbd: default to scan enabled after reset | expand |
Ping. Le 21/10/2018 à 21:07, Hervé Poussineau a écrit : > A check for scan_enabled has been added to ps2_keyboard_event in commit > 143c04c7e0639e53086519592ead15d2556bfbf2 to prevent stream corruption. > This works well as long as operating system is resetting keyboard, or enabling it. > > This fixes IBM 40p firmware, which doesn't bother sending KBD_CMD_RESET, > KBD_CMD_ENABLE or KBD_CMD_RESET_ENABLE before trying to use the keyboard. > > Signed-off-by: Hervé Poussineau <hpoussin@reactos.org> > --- > hw/input/ps2.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/input/ps2.c b/hw/input/ps2.c > index fdfcadf9a1..eded4f0f8d 100644 > --- a/hw/input/ps2.c > +++ b/hw/input/ps2.c > @@ -938,7 +938,7 @@ static void ps2_kbd_reset(void *opaque) > > trace_ps2_kbd_reset(opaque); > ps2_common_reset(&s->common); > - s->scan_enabled = 0; > + s->scan_enabled = 1; > s->translate = 0; > s->scancode_set = 2; > s->modifiers = 0; >
Hi Hervé, On Sun, Oct 21, 2018 at 9:12 PM Hervé Poussineau <hpoussin@reactos.org> wrote: > A check for scan_enabled has been added to ps2_keyboard_event in commit > 143c04c7e0639e53086519592ead15d2556bfbf2 to prevent stream corruption. > This works well as long as operating system is resetting keyboard, or enabling it. > > This fixes IBM 40p firmware, which doesn't bother sending KBD_CMD_RESET, > KBD_CMD_ENABLE or KBD_CMD_RESET_ENABLE before trying to use the keyboard. > > Signed-off-by: Hervé Poussineau <hpoussin@reactos.org> > --- > hw/input/ps2.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/input/ps2.c b/hw/input/ps2.c > index fdfcadf9a1..eded4f0f8d 100644 > --- a/hw/input/ps2.c > +++ b/hw/input/ps2.c > @@ -938,7 +938,7 @@ static void ps2_kbd_reset(void *opaque) > > trace_ps2_kbd_reset(opaque); > ps2_common_reset(&s->common); > - s->scan_enabled = 0; > + s->scan_enabled = 1; > s->translate = 0; > s->scancode_set = 2; > s->modifiers = 0; > -- > 2.11.0 > I think QOM'ifying this device would force a cleanup of those various reset functions. Then ps2_kbd_reset could call ps2_reset_keyboard. In the meantime this patch makes sense as a bugfix. Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Regards, Phil.
Ping again. v3.0 didn't contain 143c04c7e0639e53086519592ead15d2556bfbf2, so this commit fixes a regression. Le 10/11/2018 à 21:53, Hervé Poussineau a écrit : > Ping. > > Le 21/10/2018 à 21:07, Hervé Poussineau a écrit : >> A check for scan_enabled has been added to ps2_keyboard_event in commit >> 143c04c7e0639e53086519592ead15d2556bfbf2 to prevent stream corruption. >> This works well as long as operating system is resetting keyboard, or enabling it. >> >> This fixes IBM 40p firmware, which doesn't bother sending KBD_CMD_RESET, >> KBD_CMD_ENABLE or KBD_CMD_RESET_ENABLE before trying to use the keyboard. >> >> Signed-off-by: Hervé Poussineau <hpoussin@reactos.org> >> --- >> hw/input/ps2.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/hw/input/ps2.c b/hw/input/ps2.c >> index fdfcadf9a1..eded4f0f8d 100644 >> --- a/hw/input/ps2.c >> +++ b/hw/input/ps2.c >> @@ -938,7 +938,7 @@ static void ps2_kbd_reset(void *opaque) >> trace_ps2_kbd_reset(opaque); >> ps2_common_reset(&s->common); >> - s->scan_enabled = 0; >> + s->scan_enabled = 1; >> s->translate = 0; >> s->scancode_set = 2; >> s->modifiers = 0; >> >
Ping again. Le 18/11/2018 à 11:09, Hervé Poussineau a écrit : > Ping again. > > v3.0 didn't contain 143c04c7e0639e53086519592ead15d2556bfbf2, so this commit fixes a regression. > > Le 10/11/2018 à 21:53, Hervé Poussineau a écrit : >> Ping. >> >> Le 21/10/2018 à 21:07, Hervé Poussineau a écrit : >>> A check for scan_enabled has been added to ps2_keyboard_event in commit >>> 143c04c7e0639e53086519592ead15d2556bfbf2 to prevent stream corruption. >>> This works well as long as operating system is resetting keyboard, or enabling it. >>> >>> This fixes IBM 40p firmware, which doesn't bother sending KBD_CMD_RESET, >>> KBD_CMD_ENABLE or KBD_CMD_RESET_ENABLE before trying to use the keyboard. >>> >>> Signed-off-by: Hervé Poussineau <hpoussin@reactos.org> >>> --- >>> hw/input/ps2.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/hw/input/ps2.c b/hw/input/ps2.c >>> index fdfcadf9a1..eded4f0f8d 100644 >>> --- a/hw/input/ps2.c >>> +++ b/hw/input/ps2.c >>> @@ -938,7 +938,7 @@ static void ps2_kbd_reset(void *opaque) >>> trace_ps2_kbd_reset(opaque); >>> ps2_common_reset(&s->common); >>> - s->scan_enabled = 0; >>> + s->scan_enabled = 1; >>> s->translate = 0; >>> s->scancode_set = 2; >>> s->modifiers = 0; >>> >> > >
On Thu, Nov 22, 2018 at 07:30:41PM +0100, Hervé Poussineau wrote:
> Ping again.
Queued up for 3.1
thanks,
Gerd
diff --git a/hw/input/ps2.c b/hw/input/ps2.c index fdfcadf9a1..eded4f0f8d 100644 --- a/hw/input/ps2.c +++ b/hw/input/ps2.c @@ -938,7 +938,7 @@ static void ps2_kbd_reset(void *opaque) trace_ps2_kbd_reset(opaque); ps2_common_reset(&s->common); - s->scan_enabled = 0; + s->scan_enabled = 1; s->translate = 0; s->scancode_set = 2; s->modifiers = 0;
A check for scan_enabled has been added to ps2_keyboard_event in commit 143c04c7e0639e53086519592ead15d2556bfbf2 to prevent stream corruption. This works well as long as operating system is resetting keyboard, or enabling it. This fixes IBM 40p firmware, which doesn't bother sending KBD_CMD_RESET, KBD_CMD_ENABLE or KBD_CMD_RESET_ENABLE before trying to use the keyboard. Signed-off-by: Hervé Poussineau <hpoussin@reactos.org> --- hw/input/ps2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)