Date: Tue, 5 Nov 2013 00:51:00 +0000 (UTC) From: Luigi Rizzo <luigi@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r257664 - head/sys/dev/netmap Message-ID: <201311050051.rA50p0bZ018257@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: luigi Date: Tue Nov 5 00:50:59 2013 New Revision: 257664 URL: http://svnweb.freebsd.org/changeset/base/257664 Log: check errors on return from netmap_attach() Submitted by: Giuseppe Lettieri MFC after: 3 days Modified: head/sys/dev/netmap/netmap.c Modified: head/sys/dev/netmap/netmap.c ============================================================================== --- head/sys/dev/netmap/netmap.c Mon Nov 4 23:46:20 2013 (r257663) +++ head/sys/dev/netmap/netmap.c Tue Nov 5 00:50:59 2013 (r257664) @@ -535,7 +535,7 @@ BDG_NMB(struct netmap_mem_d *nmd, struct return (unlikely(i >= nmd->pools[NETMAP_BUF_POOL].objtotal)) ? lut[0].vaddr : lut[i].vaddr; } -static void bdg_netmap_attach(struct netmap_adapter *); +static int bdg_netmap_attach(struct netmap_adapter *); static int bdg_netmap_reg(struct ifnet *ifp, int onoff); int kern_netmap_regif(struct nmreq *nmr); @@ -1854,6 +1854,7 @@ get_ifp(struct nmreq *nmr, struct ifnet * and attach it to the ifp */ struct netmap_adapter tmp_na; + int error; if (nmr->nr_cmd) { /* nr_cmd must be 0 for a virtual port */ @@ -1884,7 +1885,12 @@ get_ifp(struct nmreq *nmr, struct ifnet strcpy(iter->if_xname, name); tmp_na.ifp = iter; /* bdg_netmap_attach creates a struct netmap_adapter */ - bdg_netmap_attach(&tmp_na); + error = bdg_netmap_attach(&tmp_na); + if (error) { + D("error %d", error); + free(iter, M_DEVBUF); + return error; + } cand2 = -1; /* only need one port */ } else if (NETMAP_CAPABLE(iter)) { /* this is a NIC */ /* make sure the NIC is not already in use */ @@ -4075,7 +4081,7 @@ done: } -static void +static int bdg_netmap_attach(struct netmap_adapter *arg) { struct netmap_adapter na; @@ -4095,7 +4101,7 @@ bdg_netmap_attach(struct netmap_adapter na.nm_mem = netmap_mem_private_new(arg->ifp->if_xname, na.num_tx_rings, na.num_tx_desc, na.num_rx_rings, na.num_rx_desc); - netmap_attach(&na, na.num_tx_rings); + return netmap_attach(&na, na.num_tx_rings); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201311050051.rA50p0bZ018257>