Minor bug: in the case where allocating a fresh mbuf for the receive ring

fails, we need to set the descriptor status word so that the 'OWN' bit
is set again so that the chip can reuse it. Previously, this wasn't being
done.
This commit is contained in:
Bill Paul 1999-01-03 02:05:21 +00:00
parent 600c04ff93
commit 57ff492d3e
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=42260
3 changed files with 9 additions and 12 deletions

View File

@ -29,7 +29,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*
* $Id: if_vr.c,v 1.4 1998/12/14 06:32:56 dillon Exp $
* $Id: if_vr.c,v 1.5 1998/12/24 18:03:17 wpaul Exp $
*/
/*
@ -97,7 +97,7 @@
#ifndef lint
static const char rcsid[] =
"$Id: if_vr.c,v 1.4 1998/12/14 06:32:56 dillon Exp $";
"$Id: if_vr.c,v 1.5 1998/12/24 18:03:17 wpaul Exp $";
#endif
/*
@ -1303,8 +1303,7 @@ static void vr_rxeof(sc)
*/
if (vr_newbuf(sc, cur_rx) == ENOBUFS) {
ifp->if_ierrors++;
cur_rx->vr_ptr->vr_status =
VR_RXSTAT_FIRSTFRAG|VR_RXSTAT_LASTFRAG;
cur_rx->vr_ptr->vr_status = VR_RXSTAT;
cur_rx->vr_ptr->vr_ctl =
VR_RXCTL_CHAIN | (MCLBYTES - 1);
continue;

View File

@ -29,7 +29,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*
* $Id: if_mx.c,v 1.5 1998/12/14 06:32:55 dillon Exp $
* $Id: if_mx.c,v 1.6 1998/12/24 19:10:05 wpaul Exp $
*/
/*
@ -94,7 +94,7 @@
#ifndef lint
static const char rcsid[] =
"$Id: if_mx.c,v 1.5 1998/12/14 06:32:55 dillon Exp $";
"$Id: if_mx.c,v 1.6 1998/12/24 19:10:05 wpaul Exp $";
#endif
/*
@ -1671,8 +1671,7 @@ static void mx_rxeof(sc)
*/
if (mx_newbuf(sc, cur_rx) == ENOBUFS) {
ifp->if_ierrors++;
cur_rx->mx_ptr->mx_status =
MX_RXSTAT_FIRSTFRAG|MX_RXSTAT_LASTFRAG;
cur_rx->mx_ptr->mx_status = MX_RXSTAT;
cur_rx->mx_ptr->mx_ctl =
MX_RXCTL_RLINK | (MCLBYTES - 1);
continue;

View File

@ -29,7 +29,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*
* $Id: if_vr.c,v 1.4 1998/12/14 06:32:56 dillon Exp $
* $Id: if_vr.c,v 1.5 1998/12/24 18:03:17 wpaul Exp $
*/
/*
@ -97,7 +97,7 @@
#ifndef lint
static const char rcsid[] =
"$Id: if_vr.c,v 1.4 1998/12/14 06:32:56 dillon Exp $";
"$Id: if_vr.c,v 1.5 1998/12/24 18:03:17 wpaul Exp $";
#endif
/*
@ -1303,8 +1303,7 @@ static void vr_rxeof(sc)
*/
if (vr_newbuf(sc, cur_rx) == ENOBUFS) {
ifp->if_ierrors++;
cur_rx->vr_ptr->vr_status =
VR_RXSTAT_FIRSTFRAG|VR_RXSTAT_LASTFRAG;
cur_rx->vr_ptr->vr_status = VR_RXSTAT;
cur_rx->vr_ptr->vr_ctl =
VR_RXCTL_CHAIN | (MCLBYTES - 1);
continue;