Skip to contentSkip to conversation

FAILED: patch "[PATCH] NFC: st-nci: Keep st_nci_gates unchanged in load_session" failed to apply to 4.3-stable tree

PATCH [email protected] 1 participant 1 message Dec 7, 2015

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 4.3-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

Quoted 1 line

From 22c84c5b23932161546b7b16c61a6eb85bf587b8 Mon Sep 17 00:00:00 2001

From: Christophe Ricard <[email protected]>
Date: Sun, 25 Oct 2015 22:54:30 +0100
Subject: [PATCH] NFC: st-nci: Keep st_nci_gates unchanged in load_session

We need to keep initial st_nci_gates values in order for nci_hci_dev_connect_gates to create and open pipe when necessary.

For example after a firmware update CLF pipes are cleared. Changing pipe values in st_nci_gates was causing nci_hci_dev_connect_gates not using accurate pipes value.

drivers/nfc/st-nci/se.c +4 -4
index 35221654951b..df2dc544b73a 100644
@@ -232,13 +232,13 @@ int st_nci_hci_load_session(struct nci_dev *ndev)
 		if (j < ARRAY_SIZE(st_nci_gates) &&
 		    st_nci_gates[j].gate == dm_pipe_info->dst_gate_id &&
 		    ST_NCI_DM_IS_PIPE_OPEN(dm_pipe_info->pipe_state)) {
-			st_nci_gates[j].pipe = pipe_info[2];
+			ndev->hci_dev->init_data.gates[j].pipe = pipe_info[2];
 
 			ndev->hci_dev->gate2pipe[st_nci_gates[j].gate] =
-						st_nci_gates[j].pipe;
-			ndev->hci_dev->pipes[st_nci_gates[j].pipe].gate =
+						pipe_info[2];
+			ndev->hci_dev->pipes[pipe_info[2]].gate =
 						st_nci_gates[j].gate;
-			ndev->hci_dev->pipes[st_nci_gates[j].pipe].host =
+			ndev->hci_dev->pipes[pipe_info[2]].host =
 						dm_pipe_info->src_host_id;
 		}
 		kfree_skb(skb_pipe_info);