[PATCH] Re allocate the RX DMA buffer to avoid skb conflict Handle all RX packets in the DMA ring buffer

Eugene Krasnikov k.eugene.e at gmail.com
Tue May 28 02:18:47 EDT 2013


> +       /* TX_LOW_PRI */
> +       if (int_src & WCN36XX_DXE_INT_CH0_MASK) {
> +               wcn36xx_dxe_read_register(wcn, WCN36XX_DXE_0_CH0_STATUS,
> +                                         &int_reason);
> +       }

Why do we need to check if the reason for RX interrupt is TX_LOW_PRIO?
I thought RX interrupt is only for RX packets and not for TX?


2013/5/28 Eugene Krasnikov <k.eugene.e at gmail.com>:
>> The GFP_ATOMIC is need cause normally the rx skb reallocation is be
>> done on interrupt context, although currently it is
>> implemented on the work queue but is not very correctly, both the
>> interrupt register and skb unmap/refill should be implemented
>> in the interrupt  context as quickly as possible to avoid the hardware
>> DMA engine reuse the skb or stuck due to some register no be cleared.
>> I'll submit another patch to move them to interrupt context instead of
>> in bottom half.
>>
>
> You can move the code to wcn36xx_irq_rx_ready.
>
> This patch is number one for me today so please send updated version
> so we can review it and get it merged today;) But we must be careful
> with DXE part because issues there are really hard to track.
>
> --
> Best regards,
> Eugene



-- 
Best regards,
Eugene



More information about the wcn36xx mailing list