Messages in this thread | | | Date | Wed, 08 Sep 2010 13:36:27 -0700 (PDT) | Subject | Re: [PATCH] Gigabit Ethernet driver of Topcliff PCH | From | David Miller <> |
| |
From: Masayuki Ohtake <masa-korg@dsn.okisemi.com> Date: Tue, 07 Sep 2010 11:42:53 +0900
> +/** > + * pch_gbe_clean_rx - Send received data up the network stack; legacy > + * @adapter: Board private structure > + * @rx_ring: Rx descriptor ring > + * @work_done: Completed count > + * @work_to_do: Request count > + * Returns > + * true: Cleaned the descriptor > + * false: Not cleaned the descriptor > + */ > +static bool > +pch_gbe_clean_rx(struct pch_gbe_adapter *adapter, > + struct pch_gbe_rx_ring *rx_ring, > + int *work_done, int work_to_do) > +{ .. > + if (netif_receive_skb(skb) == NET_RX_DROP) { > + adapter->stats.rx_dropped++;
pch_gbe_clean_rx() should be given the "napi_struct" pointer argument from it's caller, and packets should be given to the stack using napi_gro_receive(). Finally, NETIF_F_GRO should be set in netdev->flags at probe time.
Also, you should not use the return value of netif_receive_skb() to bump the standard rx_dropped statistics value, those return code are for other purposes. No other driver does what you are doing with this return value.
If you wish to increment some extended stastic value (like drivers/net/gianfar.c does) with another name, that's fine.
| |