Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b874dec2 authored by Samuel Ortiz's avatar Samuel Ortiz
Browse files

NFC: Implement LLCP connection less Tx path



It simply involves getting the client dsap and ssap and calling the UI
frame building and sending routine.

Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent 94f418a2
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -608,6 +608,25 @@ static int llcp_sock_sendmsg(struct kiocb *iocb, struct socket *sock,

	lock_sock(sk);

	if (sk->sk_type == SOCK_DGRAM) {
		struct sockaddr_nfc_llcp *addr =
			(struct sockaddr_nfc_llcp *)msg->msg_name;

		if (msg->msg_namelen < sizeof(*addr)) {
			release_sock(sk);

			pr_err("Invalid socket address length %d\n",
			       msg->msg_namelen);

			return -EINVAL;
		}

		release_sock(sk);

		return nfc_llcp_send_ui_frame(llcp_sock, addr->dsap, addr->ssap,
					      msg, len);
	}

	if (sk->sk_state != LLCP_CONNECTED) {
		release_sock(sk);
		return -ENOTCONN;