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:
parent
f151cd2c54
commit
ce4adcc6e5
|
@ -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 {
|
||||||
|
|
Loading…
Reference in a new issue