- netif_rx_complete(dev, &lp->napi);
- /* Enable D H E bit in Rx DMA */
- __raw_writel(__raw_readl(&lp->rx_dma_regs->dmasm) & ~(DMASM_d_m | DMASM_h_m |DMASM_e_m), &lp->rx_dma_regs->dmasm);
- return 0;
- not_done:
- return 1;
-}
+ return count;
+}
+
+static int rc32434_poll(struct napi_struct *napi, int budget)
+{
+ struct rc32434_local *lp =
+ container_of(napi, struct rc32434_local, napi);
+ struct net_device *dev = lp->dev;
+ int work_done;
+
+ work_done = rc32434_rx(dev, budget);
+ if (work_done < budget) {
+ netif_rx_complete(dev, napi);
+
+ /* Mask off interrupts */
+ writel(readl(&lp->rx_dma_regs->dmasm) &
+ (DMASM_d_m | DMASM_h_m |DMASM_e_m),
+ &lp->rx_dma_regs->dmasm);
+ }
+ return work_done;
+}