int rx_queue_idx = 0;
 
        for (i = 0; i < priv->rxringcount; i++) {
-               struct sk_buff *skb = priv->rx_buf[rx_queue_idx][i];
+               struct sk_buff *skb = priv->rx_buf[i];
 
                if (!skb)
                        continue;
                if (!skb)
                        return 0;
                skb->dev = dev;
-               priv->rx_buf[rx_queue_idx][i] = skb;
+               priv->rx_buf[i] = skb;
                mapping = (dma_addr_t *)skb->cb;
                *mapping = dma_map_single(&priv->pdev->dev,
                                          skb_tail_pointer(skb),
        while (count--) {
                struct rx_desc *pdesc = &priv->rx_ring
                                        [priv->rx_idx[rx_queue_idx]];
-               struct sk_buff *skb = priv->rx_buf[rx_queue_idx]
+               struct sk_buff *skb = priv->rx_buf
                                      [priv->rx_idx[rx_queue_idx]];
                struct sk_buff *new_skb;
 
                skb = new_skb;
                skb->dev = dev;
 
-               priv->rx_buf[rx_queue_idx][priv->rx_idx[rx_queue_idx]] =
+               priv->rx_buf[priv->rx_idx[rx_queue_idx]] =
                                                                 skb;
                *((dma_addr_t *)skb->cb) = dma_map_single(&priv->pdev->dev,
                                                          skb_tail_pointer(skb),
 
        u8 (*rf_set_chan)(struct net_device *dev, u8 ch);
 
        struct rx_desc *rx_ring;
-       struct sk_buff  *rx_buf[MAX_RX_QUEUE][MAX_RX_COUNT];
+       struct sk_buff  *rx_buf[MAX_RX_COUNT];
        dma_addr_t      rx_ring_dma[MAX_RX_QUEUE];
        unsigned int    rx_idx[MAX_RX_QUEUE];
        int             rxringcount;