diff options
Diffstat (limited to 'payloads/libpayload/drivers/i8042/i8042.c')
-rw-r--r-- | payloads/libpayload/drivers/i8042/i8042.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/payloads/libpayload/drivers/i8042/i8042.c b/payloads/libpayload/drivers/i8042/i8042.c index 1bf18556f2db..b67944871f30 100644 --- a/payloads/libpayload/drivers/i8042/i8042.c +++ b/payloads/libpayload/drivers/i8042/i8042.c @@ -87,6 +87,8 @@ static void fifo_push(struct fifo *fifo, u8 c) */ static int fifo_is_empty(struct fifo *fifo) { + if (!fifo) + return 1; return fifo->tx == fifo->rx; } @@ -332,6 +334,8 @@ static void i8042_data_poll(void) */ u8 i8042_data_ready_ps2(void) { + if (!initialized) + return 0; i8042_data_poll(); return !fifo_is_empty(ps2_fifo); } @@ -341,6 +345,8 @@ u8 i8042_data_ready_ps2(void) */ u8 i8042_data_ready_aux(void) { + if (!initialized) + return 0; i8042_data_poll(); return !fifo_is_empty(aux_fifo); } |