Project

General

Profile

Actions

Bug #10683

closed

kb8042: implement kb8042_rsrv() to get out of interrupt context

Added by Toomas Soome about 3 years ago. Updated about 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
driver - device drivers
Start date:
2019-04-03
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

Description

The kb8042 is streams driver and does push the (translated) key to stream with putnext() call. Since putnext() is commonly used method (it will reduce latency) to pass messages to next module in queue, this will end up with deep stack and in case of kb8042, the whole chain is executing in interrupt context. In worst case this means we are drawing the console FB from interrupt context of kb8042.

We would like to have interrupt routine done fast, so we should putq the message to our read queue and let STREAMS scheduler to handle the queue by calling kb8042_rsrv().

Actions

Also available in: Atom PDF