Blame SOURCES/0001-device-Fix-crashing-when-connecting-ATT-over-BR-EDR.patch

2b7b48
From d32e2a336b76cd84ff3fa770a69d7d1f9d0e2e75 Mon Sep 17 00:00:00 2001
2b7b48
From: Gopal Tiwari <gtiwari@redhat.com>
2b7b48
Date: Thu, 25 Apr 2019 19:37:20 +0530
2b7b48
Subject: [PATCH BlueZ]     device: Fix crashing when connecting ATT over
2b7b48
 BR/EDR
2b7b48
2b7b48
commit 006213cf4d231ce66de273e96619474bd516359b
2b7b48
Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2b7b48
Date:   Fri Jul 7 10:35:11 2017 +0300
2b7b48
2b7b48
    device: Fix crashing when connecting ATT over BR/EDR
2b7b48
---
2b7b48
 src/device.c | 10 ++++++++--
2b7b48
 1 file changed, 8 insertions(+), 2 deletions(-)
2b7b48
2b7b48
diff --git a/src/device.c b/src/device.c
2b7b48
index 8693eb826..4d2a59522 100644
2b7b48
--- a/src/device.c
2b7b48
+++ b/src/device.c
2b7b48
@@ -136,6 +136,7 @@ struct authentication_req {
2b7b48
 struct browse_req {
2b7b48
 	DBusMessage *msg;
2b7b48
 	struct btd_device *device;
2b7b48
+	uint8_t bdaddr_type;
2b7b48
 	GSList *match_uuids;
2b7b48
 	GSList *profiles_added;
2b7b48
 	sdp_list_t *records;
2b7b48
@@ -2154,6 +2155,9 @@ static void browse_request_complete(struct browse_req *req, uint8_t bdaddr_type,
2b7b48
 	struct btd_device *dev = req->device;
2b7b48
 	DBusMessage *reply = NULL;
2b7b48
 
2b7b48
+	if (req->bdaddr_type != bdaddr_type)
2b7b48
+		return;
2b7b48
+
2b7b48
 	if (!req->msg)
2b7b48
 		goto done;
2b7b48
 
2b7b48
@@ -4955,6 +4959,7 @@ int device_connect_le(struct btd_device *dev)
2b7b48
 }
2b7b48
 
2b7b48
 static struct browse_req *browse_request_new(struct btd_device *device,
2b7b48
+							uint8_t bdaddr_type,
2b7b48
 							DBusMessage *msg)
2b7b48
 {
2b7b48
 	struct browse_req *req;
2b7b48
@@ -4964,6 +4969,7 @@ static struct browse_req *browse_request_new(struct btd_device *device,
2b7b48
 
2b7b48
 	req = g_new0(struct browse_req, 1);
2b7b48
 	req->device = device;
2b7b48
+	req->bdaddr_type = bdaddr_type;
2b7b48
 
2b7b48
 	device->browse = req;
2b7b48
 
2b7b48
@@ -4989,7 +4995,7 @@ static int device_browse_gatt(struct btd_device *device, DBusMessage *msg)
2b7b48
 	struct btd_adapter *adapter = device->adapter;
2b7b48
 	struct browse_req *req;
2b7b48
 
2b7b48
-	req = browse_request_new(device, msg);
2b7b48
+	req = browse_request_new(device, device->bdaddr_type, msg);
2b7b48
 	if (!req)
2b7b48
 		return -EBUSY;
2b7b48
 
2b7b48
@@ -5062,7 +5068,7 @@ static int device_browse_sdp(struct btd_device *device, DBusMessage *msg)
2b7b48
 	uuid_t uuid;
2b7b48
 	int err;
2b7b48
 
2b7b48
-	req = browse_request_new(device, msg);
2b7b48
+	req = browse_request_new(device, BDADDR_BREDR, msg);
2b7b48
 	if (!req)
2b7b48
 		return -EBUSY;
2b7b48
 
2b7b48
-- 
2b7b48
2.17.2
2b7b48