summaryrefslogtreecommitdiffstats
path: root/sys/netncp
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netncp')
-rw-r--r--sys/netncp/ncp_rq.c29
1 files changed, 2 insertions, 27 deletions
diff --git a/sys/netncp/ncp_rq.c b/sys/netncp/ncp_rq.c
index e661f5e..dacdee0 100644
--- a/sys/netncp/ncp_rq.c
+++ b/sys/netncp/ncp_rq.c
@@ -46,8 +46,6 @@
#include <netncp/ncp_ncp.h>
#include <netncp/ncp_nls.h>
-static struct mbuf* m_getm(struct mbuf *top, int len);
-
int
ncp_rq_head(struct ncp_rq *rqp, u_int32_t ptype, u_int8_t fn,struct proc *p,
struct ucred *cred)
@@ -98,29 +96,6 @@ ncp_rq_done(struct ncp_rq *rqp) {
return (0);
}
-static struct mbuf*
-m_getm(struct mbuf *top, int len) {
- int rest = len, mlen;
- struct mbuf *m=0,*mp;
-
- mp = top;
- while (rest > 0) {
-/* NCPSDEBUG("%d\n",rest);*/
- m = m_get(M_TRYWAIT, MT_DATA);
- if (rest > MINCLSIZE) {
- MCLGET(m,M_TRYWAIT);
- mlen = ( (m->m_flags & M_EXT) == 0) ? MLEN : MCLBYTES;
- } else {
- mlen = MLEN;
- }
- m->m_len = 0/*min(mlen,rest)*/;
- mp->m_next = m;
- mp = m;
- rest -= mlen;
- }
- return top;
-}
-
/*
* Routines to fill the request
*/
@@ -182,7 +157,7 @@ ncp_rq_pathstring(struct ncp_rq *rqp, int size, char *name, struct ncp_nlstables
m->m_len += cplen;
}
if (size) {
- m_getm(m, size);
+ m = m_getm(m, size, MT_DATA, M_TRYWAIT);
while (size > 0){
m = m->m_next;
cplen = min(size, M_TRAILINGSPACE(m));
@@ -215,7 +190,7 @@ ncp_rq_putanymem(struct ncp_rq *rqp, caddr_t source, int size, int type) {
m->m_len += cplen;
}
if (size) {
- m_getm(m, size);
+ m = m_getm(m, size, MT_DATA, M_TRYWAIT);
while (size > 0){
m = m->m_next;
cplen = min(size, M_TRAILINGSPACE(m));
OpenPOWER on IntegriCloud