MSM8960_BT : Fixing the error handling cases for hci events/data

Change-Id: I0a90b88ac304cfb590e2c9dd56537e36a2a0a0a1
CRs-fixed: 311185
Signed-off-by: Bhasker Neti <bneti@codeaurora.org>
diff --git a/drivers/bluetooth/hci_smd.c b/drivers/bluetooth/hci_smd.c
index 8f8ba03..31634ff 100644
--- a/drivers/bluetooth/hci_smd.c
+++ b/drivers/bluetooth/hci_smd.c
@@ -162,6 +162,11 @@
 		rc = hci_recv_frame(skb);
 		if (rc < 0) {
 			BT_ERR("Error in passing the packet to HCI Layer");
+			/*
+			 * skb is getting freed in hci_recv_frame, making it
+			 * to null to avoid multiple access
+			 */
+			skb = NULL;
 			goto out_data;
 		}
 
@@ -230,6 +235,11 @@
 		rc = hci_recv_frame(skb);
 		if (rc < 0) {
 			BT_ERR("Error in passing the packet to HCI Layer");
+			/*
+			 * skb is getting freed in hci_recv_frame, making it
+			 *  to null to avoid multiple access
+			 */
+			skb = NULL;
 			goto out_event;
 		}