summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKazutaka YOKOTA <yokota@FreeBSD.org>1997-03-28 10:11:24 +0000
committerKazutaka YOKOTA <yokota@FreeBSD.org>1997-03-28 10:11:24 +0000
commit31774f6d83ddd88d80fb353d49bcb64cdf57b4cd (patch)
tree8dfc0bf8bec21f9aba321bd985c905bf4bb15245
parenta6660d60357458a301977c13fd91aa463e21579c (diff)
Notes
-rw-r--r--sys/dev/syscons/syscons.c13
-rw-r--r--sys/i386/isa/syscons.c13
-rw-r--r--sys/isa/syscons.c13
3 files changed, 30 insertions, 9 deletions
diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c
index cbeae8bf2df9..f34d99ebff23 100644
--- a/sys/dev/syscons/syscons.c
+++ b/sys/dev/syscons/syscons.c
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: syscons.c,v 1.205 1997/03/01 23:53:46 jmg Exp $
+ * $Id: syscons.c,v 1.206 1997/03/24 11:24:07 bde Exp $
*/
#include "sc.h"
@@ -3109,11 +3109,12 @@ set_keyboard(int command, int data)
/* disable the keyboard and mouse interrupt */
s = spltty();
+#if 0
c = get_controller_command_byte(sc_kbdc);
if ((c == -1)
|| !set_controller_command_byte(sc_kbdc,
kbdc_get_device_mask(sc_kbdc),
- KBD_ENABLE_KBD_PORT | KBD_DISABLE_KBD_INT
+ KBD_DISABLE_KBD_PORT | KBD_DISABLE_KBD_INT
| KBD_DISABLE_AUX_PORT | KBD_DISABLE_AUX_INT)) {
/* CONTROLLER ERROR */
kbdc_lock(sc_kbdc, FALSE);
@@ -3128,15 +3129,21 @@ set_keyboard(int command, int data)
* by the lock flag set via `kbdc_lock()'
*/
splx(s);
+#endif
- send_kbd_command_and_data(sc_kbdc, command, data);
+ if (send_kbd_command_and_data(sc_kbdc, command, data) != KBD_ACK)
+ send_kbd_command(sc_kbdc, KBDC_ENABLE_KBD);
+#if 0
/* restore the interrupts */
if (!set_controller_command_byte(sc_kbdc,
kbdc_get_device_mask(sc_kbdc),
c & (KBD_KBD_CONTROL_BITS | KBD_AUX_CONTROL_BITS))) {
/* CONTROLLER ERROR */
}
+#else
+ splx(s);
+#endif
kbdc_lock(sc_kbdc, FALSE);
}
diff --git a/sys/i386/isa/syscons.c b/sys/i386/isa/syscons.c
index cbeae8bf2df9..f34d99ebff23 100644
--- a/sys/i386/isa/syscons.c
+++ b/sys/i386/isa/syscons.c
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: syscons.c,v 1.205 1997/03/01 23:53:46 jmg Exp $
+ * $Id: syscons.c,v 1.206 1997/03/24 11:24:07 bde Exp $
*/
#include "sc.h"
@@ -3109,11 +3109,12 @@ set_keyboard(int command, int data)
/* disable the keyboard and mouse interrupt */
s = spltty();
+#if 0
c = get_controller_command_byte(sc_kbdc);
if ((c == -1)
|| !set_controller_command_byte(sc_kbdc,
kbdc_get_device_mask(sc_kbdc),
- KBD_ENABLE_KBD_PORT | KBD_DISABLE_KBD_INT
+ KBD_DISABLE_KBD_PORT | KBD_DISABLE_KBD_INT
| KBD_DISABLE_AUX_PORT | KBD_DISABLE_AUX_INT)) {
/* CONTROLLER ERROR */
kbdc_lock(sc_kbdc, FALSE);
@@ -3128,15 +3129,21 @@ set_keyboard(int command, int data)
* by the lock flag set via `kbdc_lock()'
*/
splx(s);
+#endif
- send_kbd_command_and_data(sc_kbdc, command, data);
+ if (send_kbd_command_and_data(sc_kbdc, command, data) != KBD_ACK)
+ send_kbd_command(sc_kbdc, KBDC_ENABLE_KBD);
+#if 0
/* restore the interrupts */
if (!set_controller_command_byte(sc_kbdc,
kbdc_get_device_mask(sc_kbdc),
c & (KBD_KBD_CONTROL_BITS | KBD_AUX_CONTROL_BITS))) {
/* CONTROLLER ERROR */
}
+#else
+ splx(s);
+#endif
kbdc_lock(sc_kbdc, FALSE);
}
diff --git a/sys/isa/syscons.c b/sys/isa/syscons.c
index cbeae8bf2df9..f34d99ebff23 100644
--- a/sys/isa/syscons.c
+++ b/sys/isa/syscons.c
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: syscons.c,v 1.205 1997/03/01 23:53:46 jmg Exp $
+ * $Id: syscons.c,v 1.206 1997/03/24 11:24:07 bde Exp $
*/
#include "sc.h"
@@ -3109,11 +3109,12 @@ set_keyboard(int command, int data)
/* disable the keyboard and mouse interrupt */
s = spltty();
+#if 0
c = get_controller_command_byte(sc_kbdc);
if ((c == -1)
|| !set_controller_command_byte(sc_kbdc,
kbdc_get_device_mask(sc_kbdc),
- KBD_ENABLE_KBD_PORT | KBD_DISABLE_KBD_INT
+ KBD_DISABLE_KBD_PORT | KBD_DISABLE_KBD_INT
| KBD_DISABLE_AUX_PORT | KBD_DISABLE_AUX_INT)) {
/* CONTROLLER ERROR */
kbdc_lock(sc_kbdc, FALSE);
@@ -3128,15 +3129,21 @@ set_keyboard(int command, int data)
* by the lock flag set via `kbdc_lock()'
*/
splx(s);
+#endif
- send_kbd_command_and_data(sc_kbdc, command, data);
+ if (send_kbd_command_and_data(sc_kbdc, command, data) != KBD_ACK)
+ send_kbd_command(sc_kbdc, KBDC_ENABLE_KBD);
+#if 0
/* restore the interrupts */
if (!set_controller_command_byte(sc_kbdc,
kbdc_get_device_mask(sc_kbdc),
c & (KBD_KBD_CONTROL_BITS | KBD_AUX_CONTROL_BITS))) {
/* CONTROLLER ERROR */
}
+#else
+ splx(s);
+#endif
kbdc_lock(sc_kbdc, FALSE);
}