Commit 22c84c5b authored by Christophe Ricard's avatar Christophe Ricard Committed by Samuel Ortiz

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.

Cc: stable@vger.kernel.org
Signed-off-by: default avatarChristophe Ricard <christophe-h.ricard@st.com>
Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent 6443ce97
...@@ -232,13 +232,13 @@ int st_nci_hci_load_session(struct nci_dev *ndev) ...@@ -232,13 +232,13 @@ int st_nci_hci_load_session(struct nci_dev *ndev)
if (j < ARRAY_SIZE(st_nci_gates) && if (j < ARRAY_SIZE(st_nci_gates) &&
st_nci_gates[j].gate == dm_pipe_info->dst_gate_id && st_nci_gates[j].gate == dm_pipe_info->dst_gate_id &&
ST_NCI_DM_IS_PIPE_OPEN(dm_pipe_info->pipe_state)) { 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] = ndev->hci_dev->gate2pipe[st_nci_gates[j].gate] =
st_nci_gates[j].pipe; pipe_info[2];
ndev->hci_dev->pipes[st_nci_gates[j].pipe].gate = ndev->hci_dev->pipes[pipe_info[2]].gate =
st_nci_gates[j].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; dm_pipe_info->src_host_id;
} }
kfree_skb(skb_pipe_info); kfree_skb(skb_pipe_info);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment