概述:
无线驱动的收包过程是基于中断的处理方式。在准备接收数据之前,驱动需要先进行初始化接收数据使用到的相关结构( sc_rxbuf和rxfifo )。当数据包到达时,硬件会首先进行 DMA,完成以后产生Rx中断。中断处理过程又分为两个部分,首先是立即执行的上半段处理,负责将数据包从软件接收缓冲队列中取出,并补全接收缓冲区,以便继续接收数据;然后就是一个 tasklet机制的调度,进行数据包的分析处理,在 LMAC层中进行接收状态的分析和填充,在 UMAC层中对数据包本身进行分析,包括重组和包头转换等,最后将其转换为以太网帧的形式提交到 bridge上去。
中断开始
内核活动中有硬件中断和软件中断,对于无线网卡收包的第一步,是硬件中断,对于中断,内核中执行专门的例程,又叫中断处理程序,执行中断发生时的动作。中断处理可通过request_irq进行注册。
跟踪无线收包流程,就从中断处理开始:
error = request_irq(dev->irq, ath_isr, IRQF_DISABLED, dev->name, dev);
然后主要的目光集中在中断处理函数ath_isr中:
ath_rx_buf_link_aponly<--ath_rx_addbuffer_aponly<--ath_rx_intr_aponly<--ath_rx_edma_intr_aponly<--ath_common_intr_aponly<--ath_intr_aponly<--ath_isr_aponly<--do_ath_isr<--ath_isr
可以按照这个函数调用轨迹去看处理的过程,不详细说,重点集中在函数ath_rx_intr_aponly中
void ath_rx_intr_aponly(ath_dev_t dev, HAL_RX_QUEUE qtype)
       {
    struct ath_softc *sc = ATH_DEV_TO_SC(dev);
    struct ath_rx_edma *rxedma;
    wbuf_t wbuf;
    struct ath_buf *bf;
 struct ath_rx_status *rxs;
    HAL_STATUS retval;
    struct ath_hal *ah = sc->sc_ah;
    int    frames;

    rxedma = &sc->sc_rxedma[qtype];

do {
          printk("%s %d receive packet %d \r\n", __func__, __LINE__, rxedma->rxfifoheadindex);
        wbuf = rxedma->rxfifo[rxedma->rxfifoheadindex];
        if (unlikely(wbuf == NULL))
            break;
        bf = ATH_GET_RX_CONTEXT_BUF(wbuf);

/*清理一下cache,则个是cache一致性问题后续说 */
        OS_SYNC_SINGLE(sc->sc_osdev,
                       bf->bf_buf_addr[0], sc->sc_rxstatuslen, BUS_DMA_FROMDEVICE,
                       OS_GET_DMA_MEM_CONTEXT(bf, bf_dmacontext));
        bf->bf_status |= ATH_BUFSTATUS_SYNCED;

rxs = bf->bf_desc;
#ifdef CONFIG_COMCERTO_CUSTOM_SKB_LAYOUT
        if (wbuf->mspd_data) {
            __memcpy(wbuf->data, wbuf->mspd_data, sc->sc_rxstatuslen + sizeof(struct ieee80211_qosframe) + ATH_COMCERTO_CUSTOM_SKB_OFFSET);
            wbuf->mspd_ofst = sc->sc_rxstatuslen + sizeof(struct ieee80211_qosframe) + ATH_COMCERTO_CUSTOM_SKB_OFFSET;
        }
#endif       
        retval = ath_hal_rxprocdescfast(ah, NULL, 0, NULL, rxs, wbuf_raw_data(wbuf));
          /*ath_hal_rxprocdescfast = ar9300_proc_rx_desc_fast*/
#ifdef ATH_RX_DESC_WAR
        if (unlikely(HAL_EINVAL == retval))

{
               struct ath_buf *next_bf;
               wbuf_t next_wbuf;
               u_int32_t next_idx = rxedma->rxfifoheadindex;

bf->bf_status |= ATH_BUFSTATUS_WAR;

INCR(next_idx, rxedma->rxfifohwsize);
               next_wbuf = rxedma->rxfifo[next_idx];

if (next_wbuf == NULL)
                    break;

next_bf = ATH_GET_RX_CONTEXT_BUF(next_wbuf);
               next_bf->bf_status |= ATH_BUFSTATUS_WAR;
               DPRINTF(sc, ATH_DEBUG_RX_PROC, "%s: Marking first DP 0x%x for drop\n",
                        __func__, (unsigned) bf->bf_buf_addr[0]);
               DPRINTF(sc, ATH_DEBUG_RX_PROC, "%s: Marking second DP 0x%x for drop\n",
                       __func__, (unsigned) next_bf->bf_buf_addr[0]);
          }
#endif
        /* XXX Check for done bit in RxS */
        if (HAL_EINPROGRESS == retval) {
            break;
        }

/* add this ath_buf for deferred processing, 将包放入到rxqueue,下半段部再处理*/
        TAILQ_INSERT_TAIL(&rxedma->rxqueue, bf, bf_list);

/* clear this element before advancing */
        rxedma->rxfifo[rxedma->rxfifoheadindex] = NULL;

/* advance the head pointer */
        INCR(rxedma->rxfifoheadindex, rxedma->rxfifohwsize); /*处理下一个包*/

if (unlikely(rxedma->rxfifodepth == 0))
            printk("ath_rx_intr: depth 0 PANIC\n");

rxedma->rxfifodepth--;
    } while (TRUE);

/*将ath_bufs 从空闲的链表移到rxedma的rxfifo */

frames = rxedma->rxfifohwsize - rxedma->rxfifodepth;
if (frames > 0)
        ath_rx_addbuffer_aponly(sc, qtype, frames);
}
这个函数主要做的就是将数据包从rxfifo中收上来,然后放入rxqueue,然后在空闲队列中找一个ath_bufs放回到rxfifo。
rxfifo

sc 中对应的rxfifo 有两个,分别对应于硬件的两个不同优先级的队列( High-Priority 和Low-Priority ,HP长队16,LP长度128)

这两个参数在函数ar9300_fill_capability_info中的:
   p_cap->hal_rx_hp_depth = HAL_HP_RXFIFO_DEPTH;

p_cap->hal_rx_lp_depth = HAL_LP_RXFIFO_DEPTH;

赋值;
通过枚举变量:
enum RX_FIFO_DEPTH {
    HAL_HP_RXFIFO_DEPTH             = 16,
    HAL_LP_RXFIFO_DEPTH             = 128,
};定义

rxfifo是指针的数组,在函数中申请了空间。
static int ath_rxfifo_alloc(struct ath_softc *sc, HAL_RX_QUEUE qtype)
{
    struct ath_rx_edma *rxedma;
    int bsize, error;

    rxedma = &sc->sc_rxedma[qtype];

error = ath_hal_getrxfifodepth(sc->sc_ah, qtype, &rxedma->rxfifohwsize);
    if (error)
        return error;

bsize = sizeof(wbuf_t) * rxedma->rxfifohwsize;

printk("%s %d rxedma->rxfifohwsize = %d, bsize = %d\r\n", __func__, __LINE__, rxedma->rxfifohwsize, bsize);

/*
     上面在串口中打印结果是:
     [2016:11:10:14:55:09][   10.804000] ath_rxfifo_alloc 128 rxedma->rxfifohwsize = 16, bsize = 64

[2016:11:10:14:55:09][   10.812000] ath_rxfifo_alloc 128 rxedma->rxfifohwsize = 128, bsize = 512

*/
rxedma->rxfifo = (wbuf_t *)OS_MALLOC(sc->sc_osdev, bsize, GFP_KERNEL); /*所以这里申请的是存放指针的数组空间,这些指针就用来指向可用的ath_buf*/
    if (rxedma->rxfifo == NULL)
        return -ENOMEM;

rxedma->rxfifoheadindex = 0;
    rxedma->rxfifotailindex = 0;
    rxedma->rxfifodepth = 0;

OS_MEMZERO(rxedma->rxfifo, bsize);
    TAILQ_INIT(&rxedma->rxqueue);
    ATH_RXQ_LOCK_INIT(rxedma);

return 0;
}

sc->sc_rxbuf
sc_rxbuf 是整个驱动中,收包所使用的缓冲池,其中初始化了 512 个ath_buf 的对象。该结构为 LMAC 层提供空白的ath_buf结构。在在函数ath_rx_edma_init中初始化
int  ath_rx_edma_init(ath_dev_t dev, int nbufs)
{
     ...
     printk("%s %d: nbufs = %d, sc->sc_rxbufsize = %d\r\n", __func__, __LINE__, nbufs, sc->sc_rxbufsize);
/*串口输出: [2016:11:10:14:55:09][   10.828000] ath_rx_edma_init 216: nbufs = 256, sc->sc_rxbufsize = 3900*/

for (i = 0; i < nbufs; i++, bf++, rxs++) {
     wbuf = ath_rxbuf_alloc(sc, sc->sc_rxbufsize);
     if (wbuf == NULL) {
          error = -ENOMEM;
          break;
     }

bf->bf_mpdu = wbuf;
     bf->bf_buf_addr[0] = wbuf_map_single(sc->sc_osdev, wbuf, BUS_DMA_FROMDEVICE,
                                               OS_GET_DMA_MEM_CONTEXT(bf, bf_dmacontext));

/*bf_buf_addr[0] 是物理地址,物理地址,物理地址,重要事情说三次, 这个地址在函数ath_rx_buf_link_aponly中写入MAC的寄存器:
ath_hal_putrxbuf(ah, bf->bf_buf_addr[0], qtype); /*ar9300_set_rx_dp*/
*/
     ATH_SET_RX_CONTEXT_BUF(wbuf, bf);
     bf->bf_desc = (void *)rxs;

TAILQ_INSERT_TAIL(&sc->sc_rxbuf, bf, bf_list); /*然后将bf加入到sc_rxbuf链的后面,就是说sc_rxbuf是有256个wbuf的链,这些buf就是free buf,用来接收数据包的*/
     }

     ...
}
DMA是一种硬件机制,允许外围设备和主存之间直接传输他们的IO数据,而不需要系统处理器的参与。一个DMA映射就是要分配的DMA缓冲区与为该缓冲区生成的,设备可访问地址的组合。分为两种映射
一致性DMA映射和流式DMA映射,而无线驱动中使用的是流式DMA映射。
回到代码中,在初始化时使用了wbuf_map_single,其中的参数是BUS_DMA_FROMDEVICE
bf->bf_buf_addr[0] = wbuf_map_single(sc->sc_osdev, wbuf, BUS_DMA_FROMDEVICE,
                                              OS_GET_DMA_MEM_CONTEXT(bf, bf_dmacontext));
wbuf_map_single调用了函数dma_map_single(devhandle->bdev, ptr, size,  (direction == BUS_DMA_TODEVICE)? DMA_TO_DEVICE : DMA_FROM_DEVICE);
参考DMA-API.txt可以看到,函数dma_map_single用于映射处理的一段虚拟地址使得硬件设备可以直接访问并返回这段地址的物理地址;
Maps a piece of processor virtual memory so it can be accessed by the
     device and returns the physical handle of the memory.
dma_addr_t dma_map_single(struct device *dev, void *ptr, size_t size,
     enum dma_data_direction direction)
{
     unsigned long addr = (unsigned long) ptr;

if (!plat_device_is_coherent(dev)) /*在kernel的配置文件中CONFIG_DMA_NONCOHERENT=y设置成y*/

__dma_sync(addr, size, direction);

return plat_map_dma_mem(dev, ptr, size);
}

linux/kernels/mips-linux-2.6.31/arch/mips/include/asm/mach-generic/dma-coherence.h
static inline dma_addr_t plat_map_dma_mem(struct device *dev, void *addr,  size_t size)
{
        return virt_to_phys(addr); /*这里返回的是物理地址*/
}

cache一致性
__dma_syn
a、DMA_TO_DEVICE:把cache的数据刷回内存里,用于使能dma传输到外设之前。因为dma传输只会从内存拿数据,所以必须把cache的数据全部刷回到内存中;

b、DMA_FROM_DEVICE:把cache的数据置无效,用于dma已经传输完毕产生中断之后,准备从内存读取到驱动的buffer中。如果不把cache的数据置无效,
那么cpu就会直接从cache中取出旧的数据,不会到内存中去拿新的数据;
c、DMA_BIDIRECTIONAL跟DMA_TO_DEVICE的效果一样
串口输出:
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 0 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 15
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4272 HAL_EINPROGRESS == retval, break
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 0 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 1, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 1 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 2, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 2 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 3, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 3 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 4, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 4 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 5, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 5 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 6, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 6 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 7, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 7 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 8, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 8 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 9, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 9 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 10, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 10 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 11, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 11 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 12, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 12 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 13, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 13 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 14, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 14 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 15, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 15 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 16, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 16 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 17, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 17 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 18, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 18 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 19, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 19 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 20, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 20 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 21, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 21 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 22, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 22 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 23, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 23 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 24, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 24 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 25, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 25 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 26, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 26 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 27, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 27 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 28, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 28 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 29, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 29 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 30, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 30 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 31, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 31 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 32, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 32 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 33, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 33 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 34, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 34 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 35, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 35 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 36, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 36 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 37, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 37 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 38, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 38 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 39, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 39 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 40, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 40 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 41, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 41 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 42, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 42 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 43, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 43 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 44, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 44 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 45, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 45 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 46, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 46 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 47, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 47 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 48, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4214 receive packet 48 
[2016:11:11:09:59:14][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 49, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 49 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 50, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 50 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 51, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 51 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 52, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 52 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 53, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 53 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 54, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 54 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 55, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 55 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 56, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 56 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 57, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 57 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 58, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 58 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 59, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 59 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 60, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 60 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 61, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 61 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 62, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 62 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 63, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 63 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 64, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 64 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 65, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 65 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 66, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 66 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 67, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 67 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 68, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 68 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 69, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 69 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 70, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 70 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 71, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 71 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 72, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 72 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 73, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 73 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 74, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 74 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 75, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 75 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 76, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 76 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 77, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 77 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 78, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 78 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 79, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 79 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 80, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 80 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 81, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 81 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 82, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 82 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 83, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 83 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 84, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 84 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 85, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 85 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 86, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 86 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 87, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 87 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 88, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 88 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 89, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 89 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 90, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 90 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 91, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 91 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 92, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 92 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 93, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 93 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 94, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 94 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 95, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 95 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 96, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 96 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 97, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 97 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 98, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 98 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 99, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 99 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 100, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 100 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 101, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4214 receive packet 101 
[2016:11:11:09:59:15][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 102, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4214 receive packet 102 
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 103, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4214 receive packet 103 
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 104, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4214 receive packet 104 
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 105, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4214 receive packet 105 
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 106, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4214 receive packet 106 
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 107, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4214 receive packet 107 
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 108, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4214 receive packet 108 
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 109, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4214 receive packet 109 
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 110, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4214 receive packet 110 
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 111, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4214 receive packet 111 
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 112, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4214 receive packet 112 
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 113, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4214 receive packet 113 
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 114, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4214 receive packet 114 
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 115, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4214 receive packet 115 
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 116, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4214 receive packet 116 
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 117, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4214 receive packet 117 
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 118, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4214 receive packet 118 
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 119, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4214 receive packet 119 
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 120, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4214 receive packet 120 
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 121, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4214 receive packet 121 
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 122, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4214 receive packet 122 
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 123, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4214 receive packet 123 
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 124, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4214 receive packet 124 
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 125, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4214 receive packet 125 
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 126, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4214 receive packet 126 
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 127, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4214 receive packet 127 
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4241 retval = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4296 rxedma->rxfifoheadindex = 0, rxedma->rxfifohwsize = 128
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4214 receive packet 0 
[2016:11:11:09:59:16][   13.720000] ath_rx_intr_aponly 4218 wbuf == NULL, break
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 0
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 1
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 2
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 3
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 4
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 5
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 6
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 7
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 8
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 9
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 10
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 11
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 12
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 13
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 14
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 15
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 16
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 17
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 18
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 19
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 20
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 21
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 22
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 23
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 24
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 25
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 26
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 27
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 28
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 29
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 30
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 31
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 32
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 33
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 34
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 35
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 36
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 37
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 38
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 39
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 40
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 41
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 42
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 43
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 44
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 45
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 46
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 47
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 48
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 49
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 50
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 51
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 52
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 53
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 54
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 55
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 56
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 57
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 58
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 59
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 60
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 61
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 62
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 63
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 64
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 65
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 66
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 67
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 68
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 69
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 70
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 71
[2016:11:11:09:59:16][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 72
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 73
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 74
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 75
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 76
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 77
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 78
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 79
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 80
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 81
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 82
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 83
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 84
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 85
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 86
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 87
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 88
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 89
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 90
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 91
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 92
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 93
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 94
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 95
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 96
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 97
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 98
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 99
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 100
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 101
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 102
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 103
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 104
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 105
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 106
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 107
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 108
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 109
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 110
[2016:11:11:09:59:17][   13.720000] ath_rx_buf_link_aponly 4005 rxedma->rxfifotailindex = 111
从串口可以看到,一次中断将硬件中128个包收上来,放到rxqueque,然后通过函数ath_rx_buf_link_aponly 向rxfifo回填了111个可用的wbuf。
下半段的收包通过tasklet机制完成
注册tasklet
ATH_INIT_TQUEUE(&osdev->intr_tq, (adf_os_defer_fn_t)ath_tasklet, (void*)dev);

tasklet的处理函数
ath_tasklet(TQUEUE_ARG data)
{
    struct net_device *dev = (struct net_device *)data;
    struct ath_softc_net80211 *scn = ath_netdev_priv(dev);
    do_ath_handle_intr(scn->sc_dev);
}
函数调用过程
ieee80211_input->ieee80211_iter_input_all->ieee80211_input_all->ath_net80211_rx_aponly ->ath_rx_indicate_aponly->ath_rx_process_aponly->ath_rx_handler_aponly->do_ath_handle_intr

下半部的操作是在cpu的硬件中断(除了RXEOL, RXORN, SWBA,其他全部关闭)被关闭情况下进行的。

[2016:11:14:16:28:32][   39.100000] ==================
[2016:11:14:16:28:32][   39.100000] ath_rx_intr_aponly 4220 receive packet of qtype 1 
[2016:11:14:16:28:32][   39.100000] ath_rx_intr_aponly 4226 wbuf == NULL, receive 106 packets break.
[2016:11:14:16:28:32][   39.100000] ath_common_intr_aponly 6059 Turn off all interrupts except RXEOL, RXORN, SWBA
[2016:11:14:16:28:32][   39.100000] ath_isr_aponly 5849 call ATH_SCHEDULE_TQUEUE
[2016:11:14:16:28:32][   39.152000] ath_tasklet 1346 call do_ath_handle_intr
[2016:11:14:16:28:32][   39.160000] ath_handle_intr_aponly 5559 status = 0x32
[2016:11:14:16:28:32][   39.164000] ath_handle_intr_aponly 5649 status = 50, rxmask = 0x33
[2016:11:14:16:28:32][   39.172000] ath_handle_intr_aponly 5662 call ath_rx_handler_aponly
[2016:11:14:16:28:32][   39.176000] ath_handle_intr_aponly 5670 call ath_rx_handler_aponly
[2016:11:14:16:28:32][   39.184000] ath_rx_handler_aponly 5436 call ath_rx_process_aponly
[2016:11:14:16:28:32][   39.192000] ath_rx_process_aponly 4745 sc->sc_stats.ast_rx_bytes = 93465
[2016:11:14:16:28:32][   39.196000] ath_rx_process_aponly 4771 call ath_rx_indicate_aponly
[2016:11:14:16:28:32][   39.204000] ath_rx_indicate_aponly 4409 call ath_net80211_rx_aponly
[2016:11:14:16:28:32][   39.212000] ath_net80211_rx_aponly 3859 call ieee80211_input_all
[2016:11:14:16:28:32][   39.216000] ieee80211_input 1364 type = 0, subtype = 128
[2016:11:14:16:28:32][   39.224000] ieee80211_input 1506 call ieee80211_node_activity
[2016:11:14:16:28:32][   39.228000] ath_rx_indicate_aponly 4411 ath_net80211_rx_aponly return type = 0
[2016:11:14:16:28:32][   39.236000] ath_rx_process_aponly 4773 ath_rx_indicate_aponly return type = 0
....
....
....
[2016:11:14:16:28:38][   44.364000] ath_rx_process_aponly 4745 sc->sc_stats.ast_rx_bytes = 114219
[2016:11:14:16:28:38][   44.368000] ath_rx_process_aponly 4771 call ath_rx_indicate_aponly
[2016:11:14:16:28:38][   44.376000] ath_rx_indicate_aponly 4409 call ath_net80211_rx_aponly
[2016:11:14:16:28:38][   44.384000] ath_net80211_rx_aponly 3859 call ieee80211_input_all
[2016:11:14:16:28:38][   44.388000] ieee80211_input 1364 type = 8, subtype = 0
[2016:11:14:16:28:38][   44.396000] ath_rx_indicate_aponly 4411 ath_net80211_rx_aponly return type = 8
[2016:11:14:16:28:38][   44.400000] ath_rx_process_aponly 4773 ath_rx_indicate_aponly return type = 8
[2016:11:14:16:28:38][   44.408000] ath_rx_handler_aponly 5436 call ath_rx_process_aponly
[2016:11:14:16:28:38][   44.416000] ath_rx_process_aponly 4745 sc->sc_stats.ast_rx_bytes = 114458
[2016:11:14:16:28:38][   44.424000] ath_rx_process_aponly 4771 call ath_rx_indicate_aponly
[2016:11:14:16:28:38][   44.428000] ath_rx_indicate_aponly 4409 call ath_net80211_rx_aponly
[2016:11:14:16:28:38][   44.436000] ath_net80211_rx_aponly 3859 call ieee80211_input_all
[2016:11:14:16:28:38][   44.444000] ieee80211_input 1364 type = 0, subtype = 128
[2016:11:14:16:28:38][   44.448000] ieee80211_input 1506 call ieee80211_node_activity
[2016:11:14:16:28:38][   44.452000] ath_rx_indicate_aponly 4411 ath_net80211_rx_aponly return type = 0
[2016:11:14:16:28:38][   44.460000] ath_rx_process_aponly 4773 ath_rx_indicate_aponly return type = 0
[2016:11:14:16:28:38][   44.468000] ath_handle_intr_aponly 5771 re-enable hardware interrupt

【无线】【流程】QCA无线驱动收包流程分析相关推荐

  1. MTK eCos系统的有线驱动收包流程

    驱动设备注册 如下,注册了ra305x_eth_netdev1,关联ra305x_eth_sc1方法,ra305x_eth_sc1定义时关联了eth_drv_funs.if_ra305x_init将在 ...

  2. ixgbe网卡驱动 Ⅳ----收发包流程详解

    目录 1 网卡队列收包流程概述 2 ixgbe_ring 结构 3 ixgbe 驱动收包流程 3.1 硬件中断入口 ixgbe_msix_clean_rings/ixgbe_intr 3.2 软中断入 ...

  3. 32位网卡驱动 2008_DPDK之网卡收包流程

    1.导读 一个网络报文从网卡接收到被应用处理,中间主要需要经历两个阶段: 阶段一:网卡通过其DMA硬件将收到的报文写入到收包队列中(入队) 阶段二:应用从收包队列中读取报文(出队) 下面以ixgbe网 ...

  4. DPDK 网卡收包流程

    Table of Contents 1.Linux网络收发包流程 1.1 网卡与liuux驱动交互 1.2  linux驱动与内核协议栈交互 题外1: 中断处理逻辑 题外2:中断的弊端 2.linux ...

  5. 网卡收包流程分析(一)

    由于本人工作内容主要集中于kernel的网络子系统,刚接触这个模块,于是想梳理一下网卡驱动的收包过程,以下内容为个人理解,如有不对,希望大家能够多多指正,相互成长~ 后续会持续更新有关kernel网络 ...

  6. e1000驱动收包描述符和skb

    Rx Desc Register是与接收描述符环有关的有4个寄存器: RDBA存放描述符缓冲的首地址,作为基地址共64位包括各32位的高低地址,  RDH和RDT是头尾指针,存放相对基址的偏移量,RD ...

  7. openstack ovs-vswitch收包流程

    数据包从物理网卡进入虚拟机的流程 物理网卡处理 NIC 收到数据包,会先将高低电信号转换到网卡 FIFO 存储器.NIC 首先申请 Ring buffer 的描述,根据描述找到具体的物理地址,NIC ...

  8. 网络收包流程-收包函数__netif_receive_skb的核心函数__netif_receive_skb_core(三)

    调用关系:netif_receive_skb-->netif_receive_skb-->netif_receive_skb_internal(->__netif_receive_s ...

  9. C 语言网络编程 — 内核协议栈收包/发包流程

    目录 文章目录 目录 关键技术 DMA sk_buff 结构体 Net driver Rx/Tx Ring Buffer Buffer Descriptor Table NAPI 收包机制 网卡多队列 ...

最新文章

  1. SAP MM 移动类型101与103+105组合混用?
  2. android unity 关闭应用_在后台运行的Android Unity应用程序
  3. 天猫php采集列表,QueryList: QueryList是一个基于phpQuery的通用列表采集类,是一个简单、 灵活、强大的采集工具,采集任何复杂的页面 基本上就一句话就能搞定了。...
  4. php暂停函数sleep()和usleep的区别
  5. mysql浅拷贝_深拷贝与浅拷贝
  6. abap中读取excel中不同的sheet数据_Python 如何将数据写入Excel的不同或同一个工作簿中...
  7. 如果把钱存入余额宝时,所有人都在受益,那么谁在亏损呢?
  8. 狼性文化遭质疑,那我们当个佛系程序员可好?
  9. 隐藏nginx 版本号信息(转)
  10. HTML 纯数字或字母 超出div容器,如果是文字则可正常自动折行
  11. DOSBOX 0.74模拟器安装Windows 95
  12. php 判断是否是拼音,php汉字转拼音的示例
  13. LINUX PPP拨号永久在线保障机制
  14. 周鸿祎谈乔布斯(张亮)
  15. PostgreSQL定时删除表数据
  16. phpcms extention.func.php数据的使用
  17. python列表按照字母排序_Python:按字母顺序对列表进行排序/分组
  18. SQL 四大功能DDL/DML/DCL/TCL
  19. https防止注入_离子注入新法,将钢的耐磨性提高百倍
  20. 旺旺机器人的快捷短语_机器人配置和我的快捷短语

热门文章

  1. C++程序设计基础之(第三章)函数
  2. git删除远程的commit
  3. 二、谈谈对数据库中索引的理解
  4. 我新开的淘宝店铺怎么增加访客和销量
  5. Win7下IE浏览器主页被篡改为2345导航页,怎么改掉?
  6. 腾讯云与智慧产业总裁汤道生:C2B是腾讯产业互联网的重要优势
  7. 阿里云数据库与传统数据库有何区别?
  8. 矩池云 | Tony老师解读Kaggle Twitter情感分析案例
  9. CF1395A Boboniu Likes to Color Balls
  10. android6.0在状态栏添加一键截屏