mISDN: Fix handling of receive buffer size in L1oIP

The size of receive buffer pointer was used to get size of
receive buffer instead of recvbuf_size itself, so only 4/8
bytes could be transfered.

This is a regression to 2.6.30 introduced by commit
8c90e11e35 ("mISDN: Use
kernel_{send,recv}msg instead of open coding")

Signed-off-by: Andreas Eversberg <andreas@eversberg.eu>
Signed-off-by: Karsten Keil <keil@b1-systems.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Andreas Eversberg 2009-07-27 19:24:04 +02:00 committed by Linus Torvalds
parent f151cd2c54
commit ce4adcc6e5

View File

@ -731,10 +731,10 @@ l1oip_socket_thread(void *data)
while (!signal_pending(current)) { while (!signal_pending(current)) {
struct kvec iov = { struct kvec iov = {
.iov_base = recvbuf, .iov_base = recvbuf,
.iov_len = sizeof(recvbuf), .iov_len = recvbuf_size,
}; };
recvlen = kernel_recvmsg(socket, &msg, &iov, 1, recvlen = kernel_recvmsg(socket, &msg, &iov, 1,
sizeof(recvbuf), 0); recvbuf_size, 0);
if (recvlen > 0) { if (recvlen > 0) {
l1oip_socket_parse(hc, &sin_rx, recvbuf, recvlen); l1oip_socket_parse(hc, &sin_rx, recvbuf, recvlen);
} else { } else {