Por que a fila de DMA para o TX não pode ser liberada?

1

Eu estava pensando, de vez em quando eu recebo um aviso do meu cão de guarda wlan, sobre alguns problemas com a fila DMA TX

[  710.984380] ieee80211 phy0: rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA timed out, invoke forced forced reset
[  711.996050] ieee80211 phy0: rt2x00usb_watchdog_tx_dma: Warning - TX queue 2 DMA timed out, invoke forced forced reset

Não parece realmente causar nenhum problema até agora, mas pelo que entendi:

DMA significa acesso direto à memória, portanto, o cartão deve estar gravando uma fila na memória com as informações a serem transmitidas.

Portanto, este aviso está apenas me dizendo que em algum momento o sistema teve que descartar essa fila para criar uma nova, mas não conseguiu. Por isso, o reset forçado

Por que você acha que pode ser? Quero dizer, se é memória direta, a única razão que eu poderia pensar em não ser capaz de liberá-lo, é que algum outro processo estava lendo ou escrevendo para o mesmo endereço.

Existe um processo lendo o que estou prestes a enviar? porque? qual deles?

    
por Luis Esparza LeedMx 07.02.2018 / 16:32

1 resposta

0

O aviso descreve o sintoma (o driver detectou um estado de tempo limite que não deveria ter acontecido), mas a causa é algum bug no comportamento do driver / hardware e / ou interação de tempo, possivelmente com o resto do sistema operacional. Você precisará ler o código do driver, entender o hardware em detalhes e fazer uma depuração séria para descobrir o que realmente está errado. (E se você pudesse fazer isso, você não teria feito essa pergunta).

A melhor coisa que você pode fazer é arquivar um bug com os desenvolvedores do driver, mas esse é provavelmente um problema difícil.

As camadas de rede re-solicitam pacotes que são descartados, então é improvável que esse bug rompa algo.

    
por 08.02.2018 / 06:16

Tags