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: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
63097b3ad8
commit
b564afcfb8
|
@ -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 New Issue