+++ /dev/null
-From 3ee82b2fa8bca3538cbcc4b5c4439fdea8cd727d 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 5abd423b55fa9..8d889969ae7ed 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 d563131ef23cbc756026f839a82598c8445bc45f Mon Sep 17 00:00:00 2001
-From: Navid Emamdoost <navid.emamdoost@gmail.com>
-Date: Fri, 13 Sep 2019 19:08:11 -0500
-Subject: rsi: release skb if rsi_prepare_beacon fails
-
-From: Navid Emamdoost <navid.emamdoost@gmail.com>
-
-commit d563131ef23cbc756026f839a82598c8445bc45f upstream.
-
-In rsi_send_beacon, if rsi_prepare_beacon fails the allocated skb should
-be released.
-
-Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com>
-Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
-diff --git a/drivers/net/wireless/rsi/rsi_91x_mgmt.c b/drivers/net/wireless/rsi/rsi_91x_mgmt.c
-index 6c7f26ef6476..9cc8a335d519 100644
---- a/drivers/net/wireless/rsi/rsi_91x_mgmt.c
-+++ b/drivers/net/wireless/rsi/rsi_91x_mgmt.c
-@@ -1756,6 +1756,7 @@ static int rsi_send_beacon(struct rsi_common *common)
- skb_pull(skb, (64 - dword_align_bytes));
- if (rsi_prepare_beacon(common, skb)) {
- rsi_dbg(ERR_ZONE, "Failed to prepare beacon\n");
-+ dev_kfree_skb(skb);
- return -EINVAL;
- }
- skb_queue_tail(&common->tx_queue[MGMT_BEACON_Q], skb);