bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH gnumach] kd_mouse: Fix IBM mouse irq getting stuck and blocki


From: Samuel Thibault
Subject: Re: [PATCH gnumach] kd_mouse: Fix IBM mouse irq getting stuck and blocking console
Date: Sat, 25 Feb 2023 12:29:31 +0100
User-agent: NeoMutt/20170609 (1.8.3)

Applied, thanks!

Damien Zammit, le sam. 25 févr. 2023 06:14:28 +0000, a ecrit:
> TESTED: With and without apic/smp
> 
> ---
>  i386/i386at/kd_mouse.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/i386/i386at/kd_mouse.c b/i386/i386at/kd_mouse.c
> index c870cf5a..9bd001cb 100644
> --- a/i386/i386at/kd_mouse.c
> +++ b/i386/i386at/kd_mouse.c
> @@ -106,6 +106,7 @@ boolean_t mouse_char_cmd = FALSE;         /* mouse 
> response is to cmd */
>  boolean_t    mouse_char_wanted = FALSE;      /* want mouse response */
>  int          mouse_char_index;               /* mouse response */
> 
> +#define IBM_MOUSE_IRQ        12
> 
>  /*
>   * init_mouse_hw - initialize the serial port.
> @@ -183,7 +184,7 @@ mouseopen(dev_t dev, int flags, io_req_t ior)
>               break;
>       case IBM_MOUSE:
>               mousebufsize = 3;
> -             kd_mouse_open(dev, 12);
> +             kd_mouse_open(dev, IBM_MOUSE_IRQ);
>               ibm_ps2_mouse_open(dev);
>               break;
>       case NO_MOUSE:
> @@ -222,6 +223,7 @@ kd_mouse_open(
> 
>       oldvect = ivect[mouse_pic];
>       ivect[mouse_pic] = kdintr;
> +     unmask_irq(mouse_pic);
>       splx(s);
>  }
> 
> @@ -243,7 +245,7 @@ mouseclose(
>               break;
>       case IBM_MOUSE:
>               ibm_ps2_mouse_close(dev);
> -             kd_mouse_close(dev, 12);
> +             kd_mouse_close(dev, IBM_MOUSE_IRQ);
>               {int i = 20000; for (;i--;); }
>               kd_mouse_drain();
>               break;
> @@ -282,6 +284,7 @@ kd_mouse_close(
>  {
>       spl_t s = splhi();
> 
> +     mask_irq(mouse_pic);
>       ivect[mouse_pic] = oldvect;
>       splx(s);
>  }
> --
> 2.34.1
> 
> 
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]