mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-29 23:24:11 +08:00
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: Christophe Ricard <christophe-h.ricard@st.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
parent
6443ce97d2
commit
22c84c5b23
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user