diff options
Diffstat (limited to 'qrtr')
-rw-r--r-- | qrtr/ns.c | 4 | ||||
-rw-r--r-- | qrtr/qrtr.c | 7 |
2 files changed, 5 insertions, 6 deletions
@@ -745,7 +745,7 @@ static void qrtr_ns_data_ready(struct sock *sk) void qrtr_ns_init(void) { struct sockaddr_qrtr sq; - int rx_buf_sz = INT_MAX; + int rx_buf_sz = SZ_1M; int ret; INIT_LIST_HEAD(&qrtr_ns.lookups); @@ -784,7 +784,7 @@ void qrtr_ns_init(void) goto err_wq; } - sock_setsockopt(qrtr_ns.sock, SOL_SOCKET, SO_RCVBUF, + sock_setsockopt(qrtr_ns.sock, SOL_SOCKET, SO_RCVBUFFORCE, KERNEL_SOCKPTR((void *)&rx_buf_sz), sizeof(rx_buf_sz)); qrtr_ns.bcast_sq.sq_family = AF_QIPCRTR; diff --git a/qrtr/qrtr.c b/qrtr/qrtr.c index 761f021..7bbdf15 100644 --- a/qrtr/qrtr.c +++ b/qrtr/qrtr.c @@ -539,7 +539,6 @@ static int qrtr_tx_wait(struct qrtr_node *node, struct sockaddr_qrtr *to, int confirm_rx = 0; long timeo; long ret; - int cond; /* Never set confirm_rx on non-data packets */ if (type != QRTR_TYPE_DATA) @@ -604,10 +603,10 @@ static int qrtr_tx_wait(struct qrtr_node *node, struct sockaddr_qrtr *to, } mutex_unlock(&node->qrtr_tx_lock); - cond = (!node->ep || READ_ONCE(flow->tx_failed) || - atomic_read(&flow->pending) < QRTR_TX_FLOW_HIGH); ret = wait_event_interruptible_timeout(node->resume_tx, - cond, timeo); + (!node->ep || READ_ONCE(flow->tx_failed) || + atomic_read(&flow->pending) < QRTR_TX_FLOW_HIGH), + timeo); if (ret < 0) return ret; if (!node->ep) |