Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 876f6463 in mainline


Ignore:
Timestamp:
2012-01-24T15:46:56Z (8 years ago)
Author:
Martin Decky <martin@…>
Branches:
master
Children:
02aad10, 60db852
Parents:
2df6f6fe
Message:

always (always, always!) wait for the controller to be ready before sending any data to it
otherwise the i8042 breaks on real hardware, rendering the keyboard and mouse useless
this fixes #409

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/char/i8042/i8042.c

    r2df6f6fe r876f6463  
    307307       
    308308        for (size_t i = 0; i < size; ++i) {
    309                 wait_ready(controller);
    310                
    311                 if (controller->aux_fun == fun)
     309                if (controller->aux_fun == fun) {
     310                        wait_ready(controller);
    312311                        pio_write_8(&controller->regs->status,
    313312                            i8042_CMD_WRITE_AUX);
     313                }
    314314               
     315                wait_ready(controller);
    315316                pio_write_8(&controller->regs->data, buffer[i]);
    316317        }
Note: See TracChangeset for help on using the changeset viewer.