+++ /dev/null
-From 123b79c331482d3fa1b0efc2c7421e06c5630c5d Mon Sep 17 00:00:00 2001
-From: Fabian Henneke <fabian.henneke@gmail.com>
-Date: Mon, 15 Jul 2019 19:40:56 +0200
-Subject: Bluetooth: hidp: Let hidp_send_message return number of queued bytes
-
-[ Upstream commit 48d9cc9d85dde37c87abb7ac9bbec6598ba44b56 ]
-
-Let hidp_send_message return the number of successfully queued bytes
-instead of an unconditional 0.
-
-With the return value fixed to 0, other drivers relying on hidp, such as
-hidraw, can not return meaningful values from their respective
-implementations of write(). In particular, with the current behavior, a
-hidraw device's write() will have different return values depending on
-whether the device is connected via USB or Bluetooth, which makes it
-harder to abstract away the transport layer.
-
-Signed-off-by: Fabian Henneke <fabian.henneke@gmail.com>
-Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- net/bluetooth/hidp/core.c | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/net/bluetooth/hidp/core.c b/net/bluetooth/hidp/core.c
-index b21fcc838784d..f6bffb3a95116 100644
---- a/net/bluetooth/hidp/core.c
-+++ b/net/bluetooth/hidp/core.c
-@@ -101,6 +101,7 @@ static int hidp_send_message(struct hidp_session *session, struct socket *sock,
- {
- struct sk_buff *skb;
- struct sock *sk = sock->sk;
-+ int ret;
-
- BT_DBG("session %p data %p size %d", session, data, size);
-
-@@ -114,13 +115,17 @@ static int hidp_send_message(struct hidp_session *session, struct socket *sock,
- }
-
- skb_put_u8(skb, hdr);
-- if (data && size > 0)
-+ if (data && size > 0) {
- skb_put_data(skb, data, size);
-+ ret = size;
-+ } else {
-+ ret = 0;
-+ }
-
- skb_queue_tail(transmit, skb);
- wake_up_interruptible(sk_sleep(sk));
-
-- return 0;
-+ return ret;
- }
-
- static int hidp_send_ctrl_message(struct hidp_session *session,
---
-2.20.1
-
+++ /dev/null
-From c6936fdd24ff7a876c8dd71217bc135118b81113 Mon Sep 17 00:00:00 2001
-From: Fabian Henneke <fabian.henneke@gmail.com>
-Date: Mon, 15 Jul 2019 19:40:56 +0200
-Subject: Bluetooth: hidp: Let hidp_send_message return number of queued bytes
-
-[ Upstream commit 48d9cc9d85dde37c87abb7ac9bbec6598ba44b56 ]
-
-Let hidp_send_message return the number of successfully queued bytes
-instead of an unconditional 0.
-
-With the return value fixed to 0, other drivers relying on hidp, such as
-hidraw, can not return meaningful values from their respective
-implementations of write(). In particular, with the current behavior, a
-hidraw device's write() will have different return values depending on
-whether the device is connected via USB or Bluetooth, which makes it
-harder to abstract away the transport layer.
-
-Signed-off-by: Fabian Henneke <fabian.henneke@gmail.com>
-Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- net/bluetooth/hidp/core.c | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/net/bluetooth/hidp/core.c b/net/bluetooth/hidp/core.c
-index 253975cce943e..7a31aec0c4a36 100644
---- a/net/bluetooth/hidp/core.c
-+++ b/net/bluetooth/hidp/core.c
-@@ -101,6 +101,7 @@ static int hidp_send_message(struct hidp_session *session, struct socket *sock,
- {
- struct sk_buff *skb;
- struct sock *sk = sock->sk;
-+ int ret;
-
- BT_DBG("session %p data %p size %d", session, data, size);
-
-@@ -114,13 +115,17 @@ static int hidp_send_message(struct hidp_session *session, struct socket *sock,
- }
-
- skb_put_u8(skb, hdr);
-- if (data && size > 0)
-+ if (data && size > 0) {
- skb_put_data(skb, data, size);
-+ ret = size;
-+ } else {
-+ ret = 0;
-+ }
-
- skb_queue_tail(transmit, skb);
- wake_up_interruptible(sk_sleep(sk));
-
-- return 0;
-+ return ret;
- }
-
- static int hidp_send_ctrl_message(struct hidp_session *session,
---
-2.20.1
-