mirror of
https://github.com/genodelabs/genode.git
synced 2025-04-09 04:15:52 +00:00
wifi_drv: fix tasklet_schedule
The tasklet_schedule implementation was missing the unblock call, which was no problem in the past because the correspending task would get un- blocked by other work items. Now that every workqueue has its own task, there is nobody left to unblock the task and thereby execute the tasklet. As a tasklet is the only way to transmit any pending frames after transmission was temporarily suspended - because the device/fw was not able to process the TX request - this rendered 6xxx devices unusable whenever this situation occurred. Fixes #2973.
This commit is contained in:
parent
cc61227f93
commit
040eae4806
@ -1466,12 +1466,7 @@ void tasklet_init(struct tasklet_struct *t, void (*f)(unsigned long), unsigned l
|
||||
void tasklet_schedule(struct tasklet_struct *tasklet)
|
||||
{
|
||||
Lx::Work::work_queue().schedule_tasklet(tasklet);
|
||||
}
|
||||
|
||||
|
||||
void tasklet_hi_schedule(struct tasklet_struct *tasklet)
|
||||
{
|
||||
tasklet_schedule(tasklet);
|
||||
Lx::Work::work_queue().unblock();
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user