]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/smbfs/sock.c
Linux 2.6.28-rc1
[linux-2.6-omap-h63xx.git] / fs / smbfs / sock.c
index 92ea6b2367d7f69224462396b021d0f23937d4dc..e37fe4deebd0ebe5050e1fbab7c9ef7cbc2ad4db 100644 (file)
@@ -17,7 +17,6 @@
 #include <linux/net.h>
 #include <linux/mm.h>
 #include <linux/netdevice.h>
-#include <linux/smp_lock.h>
 #include <linux/workqueue.h>
 #include <net/scm.h>
 #include <net/tcp_states.h>
@@ -330,9 +329,8 @@ smb_receive(struct smb_sb_info *server, struct smb_request *req)
        msg.msg_control = NULL;
 
        /* Dont repeat bytes and count available bufferspace */
-       rlen = smb_move_iov(&p, &num, iov, req->rq_bytes_recvd);
-       if (req->rq_rlen < rlen)
-               rlen = req->rq_rlen;
+       rlen = min_t(int, smb_move_iov(&p, &num, iov, req->rq_bytes_recvd),
+                       (req->rq_rlen - req->rq_bytes_recvd));
 
        result = kernel_recvmsg(sock, &msg, p, num, rlen, flags);