diff options
Diffstat (limited to 'net/sunrpc')
-rw-r--r-- | net/sunrpc/clnt.c | 4 | ||||
-rw-r--r-- | net/sunrpc/xdr.c | 9 |
2 files changed, 6 insertions, 7 deletions
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c index 8c6a7f1a25e9..8834d68972cb 100644 --- a/net/sunrpc/clnt.c +++ b/net/sunrpc/clnt.c | |||
@@ -261,10 +261,6 @@ struct rpc_clnt *rpc_create(struct rpc_create_args *args) | |||
261 | }; | 261 | }; |
262 | char servername[48]; | 262 | char servername[48]; |
263 | 263 | ||
264 | xprt = xprt_create_transport(&xprtargs); | ||
265 | if (IS_ERR(xprt)) | ||
266 | return (struct rpc_clnt *)xprt; | ||
267 | |||
268 | /* | 264 | /* |
269 | * If the caller chooses not to specify a hostname, whip | 265 | * If the caller chooses not to specify a hostname, whip |
270 | * up a string representation of the passed-in address. | 266 | * up a string representation of the passed-in address. |
diff --git a/net/sunrpc/xdr.c b/net/sunrpc/xdr.c index 995c3fdc16c2..79a55d56cc98 100644 --- a/net/sunrpc/xdr.c +++ b/net/sunrpc/xdr.c | |||
@@ -244,7 +244,7 @@ _copy_to_pages(struct page **pages, size_t pgbase, const char *p, size_t len) | |||
244 | pgto = pages + (pgbase >> PAGE_CACHE_SHIFT); | 244 | pgto = pages + (pgbase >> PAGE_CACHE_SHIFT); |
245 | pgbase &= ~PAGE_CACHE_MASK; | 245 | pgbase &= ~PAGE_CACHE_MASK; |
246 | 246 | ||
247 | do { | 247 | for (;;) { |
248 | copy = PAGE_CACHE_SIZE - pgbase; | 248 | copy = PAGE_CACHE_SIZE - pgbase; |
249 | if (copy > len) | 249 | if (copy > len) |
250 | copy = len; | 250 | copy = len; |
@@ -253,6 +253,10 @@ _copy_to_pages(struct page **pages, size_t pgbase, const char *p, size_t len) | |||
253 | memcpy(vto + pgbase, p, copy); | 253 | memcpy(vto + pgbase, p, copy); |
254 | kunmap_atomic(vto, KM_USER0); | 254 | kunmap_atomic(vto, KM_USER0); |
255 | 255 | ||
256 | len -= copy; | ||
257 | if (len == 0) | ||
258 | break; | ||
259 | |||
256 | pgbase += copy; | 260 | pgbase += copy; |
257 | if (pgbase == PAGE_CACHE_SIZE) { | 261 | if (pgbase == PAGE_CACHE_SIZE) { |
258 | flush_dcache_page(*pgto); | 262 | flush_dcache_page(*pgto); |
@@ -260,8 +264,7 @@ _copy_to_pages(struct page **pages, size_t pgbase, const char *p, size_t len) | |||
260 | pgto++; | 264 | pgto++; |
261 | } | 265 | } |
262 | p += copy; | 266 | p += copy; |
263 | 267 | } | |
264 | } while ((len -= copy) != 0); | ||
265 | flush_dcache_page(*pgto); | 268 | flush_dcache_page(*pgto); |
266 | } | 269 | } |
267 | 270 | ||