mirror of
https://github.com/torvalds/linux.git
synced 2026-07-31 03:27:03 +02:00
net: qrtr: ns: Ignore ENODEV failures in ns
Ignore the ENODEV failures returned by kernel_sendmsg(). These errors mean either the local port has closed or the remote has gone down. Neither of these scenarios are fatal and will eventually be handled through packets that are later queued on the control port. Also improve the logging messages to print the error code returned by kernel_sendmsg(). Change-Id: Ibcebd1f44a3fbc87febaa84b11e05675663da5a0 Signed-off-by: Chris Lew <quic_clew@quicinc.com>
This commit is contained in:
parent
16c6929261
commit
d94badbdaa
|
|
@ -156,8 +156,8 @@ static int service_announce_del(struct sockaddr_qrtr *dest,
|
|||
msg.msg_namelen = sizeof(*dest);
|
||||
|
||||
ret = kernel_sendmsg(qrtr_ns.sock, &msg, &iv, 1, sizeof(pkt));
|
||||
if (ret < 0)
|
||||
pr_err("failed to announce del service\n");
|
||||
if (ret < 0 && ret != -ENODEV)
|
||||
pr_err("failed to announce del service %d\n", ret);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
@ -187,8 +187,8 @@ static void lookup_notify(struct sockaddr_qrtr *to, struct qrtr_server *srv,
|
|||
msg.msg_namelen = sizeof(*to);
|
||||
|
||||
ret = kernel_sendmsg(qrtr_ns.sock, &msg, &iv, 1, sizeof(pkt));
|
||||
if (ret < 0)
|
||||
pr_err("failed to send lookup notification\n");
|
||||
if (ret < 0 && ret != -ENODEV)
|
||||
pr_err("failed to send lookup notification %d\n", ret);
|
||||
}
|
||||
|
||||
static int announce_servers(struct sockaddr_qrtr *sq)
|
||||
|
|
@ -206,7 +206,10 @@ static int announce_servers(struct sockaddr_qrtr *sq)
|
|||
xa_for_each(&node->servers, index, srv) {
|
||||
ret = service_announce_new(sq, srv);
|
||||
if (ret < 0) {
|
||||
pr_err("failed to announce new service\n");
|
||||
if (ret == -ENODEV)
|
||||
continue;
|
||||
|
||||
pr_err("failed to announce new service %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
|
@ -311,7 +314,7 @@ static int say_hello(struct sockaddr_qrtr *dest)
|
|||
|
||||
ret = kernel_sendmsg(qrtr_ns.sock, &msg, &iv, 1, sizeof(pkt));
|
||||
if (ret < 0)
|
||||
pr_err("failed to send hello msg\n");
|
||||
pr_err("failed to send hello msg %d\n", ret);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
@ -369,8 +372,8 @@ static int ctrl_cmd_bye(struct sockaddr_qrtr *from)
|
|||
msg.msg_namelen = sizeof(sq);
|
||||
|
||||
ret = kernel_sendmsg(qrtr_ns.sock, &msg, &iv, 1, sizeof(pkt));
|
||||
if (ret < 0) {
|
||||
pr_err("failed to send bye cmd\n");
|
||||
if (ret < 0 && ret != -ENODEV) {
|
||||
pr_err("failed to send bye cmd %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
|
@ -437,8 +440,8 @@ static int ctrl_cmd_del_client(struct sockaddr_qrtr *from,
|
|||
msg.msg_namelen = sizeof(sq);
|
||||
|
||||
ret = kernel_sendmsg(qrtr_ns.sock, &msg, &iv, 1, sizeof(pkt));
|
||||
if (ret < 0) {
|
||||
pr_err("failed to send del client cmd\n");
|
||||
if (ret < 0 && ret != -ENODEV) {
|
||||
pr_err("failed to send del client cmd %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
|
@ -468,7 +471,7 @@ static int ctrl_cmd_new_server(struct sockaddr_qrtr *from,
|
|||
if (srv->node == qrtr_ns.local_node) {
|
||||
ret = service_announce_new(&qrtr_ns.bcast_sq, srv);
|
||||
if (ret < 0) {
|
||||
pr_err("failed to announce new service\n");
|
||||
pr_err("failed to announce new service %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user