HomeFreeBSD

Fix the OACTIVE handling on if_dwc.

Description

Fix the OACTIVE handling on if_dwc.

Previously the OACTIVE flag was being set when the tx descriptors are fully
allocated but it wasn't unset anywhere.

As soon as a packet is transmitted, unset the OACTIVE flag and call start
routine to push any pending packets from the tx queue.

This closes another race where a full tx queue would jam the tx path (tx
queue is full, new packets cannot be added to queue and dwc_txstart never
gets called).

Details

Provenance
loosAuthored on
Parents
rS283947: Better handling of userland sysarch() requests to flush icache.
Branches
Unknown
Tags
Unknown