Re: [PATCH] Gigabit Ethernet driver of Topcliff PCH

Masayuki Ohtake
2010-09-15T12:40:54Z

Hi David

Thank you for your comments.
I will modify like your comment and resubmit patch.

Thanks Ohtake
-----
Date: Wed, 08 Sep 2010 13:36:27 -0700 (PDT)
From: "David Miller" <davem@davemloft.net>
> > +/**
> > + * 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.
>