--- ./src/kbdrate.c.bad 2008-03-02 20:03:37 +0100 +++ ./src/kbdrate.c 2008-03-02 20:19:07 +0100 @@ -302,6 +302,12 @@ perror( "read" ); exit( 1 ); } + if ((unsigned char)data == 0xFF) { + alarm( 0 ); + fprintf( stderr, + "kbdrate: kbd controller not present!\n" ); + exit( 1 ); + } } while ((data & 2) == 2 ); /* wait */ lseek( fd, 0x60, 0 );