> -----Original Message----- > From: Jakub Kicinski <k...@kernel.org> > Sent: 2021年2月7日 4:38 > To: Joakim Zhang <qiangqing.zh...@nxp.com> > Cc: peppe.cavall...@st.com; alexandre.tor...@st.com; > joab...@synopsys.com; da...@davemloft.net; netdev@vger.kernel.org; > dl-linux-imx <linux-...@nxp.com> > Subject: Re: [PATCH V4 net 5/5] net: stmmac: re-init rx buffers when mac > resume back > > On Thu, 4 Feb 2021 19:21:44 +0800 Joakim Zhang wrote: > > +err_reinit_rx_buffers: > > + while (queue >= 0) { > > + while (--i >= 0) > > + stmmac_free_rx_buffer(priv, queue, i); > > + > > + if (queue == 0) > > + break; > > + > > + i = priv->dma_rx_size; > > + queue--; > > + } > > nit: > > do { > ... > } while (queue-- > 0);
OK, will change it. > > + > > + return -ENOMEM; > > the caller ignores the return value anyway, so you make make this function > void. OK. > I'm not sure why you recycle and reallocate every buffer. Isn't it enough to > reinitialize the descriptors with the buffers which are already allocated? As I know, the receive buffer address is not fixed after allocated, it will recycle and re-allocate in stmmac_rx(), where to handle the receive buffers. It should be enough to re-initialize the descriptors with the buffers if it is possible. Could you point me how to do it? Best Regards, Joakim Zhang