NFC: nci: Move close ops call in nci_close_device
When closing the device some data (proprietary commands) might be sent. The core state machine needs to be set for correct command execution. 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
dbd70b4046
commit
0e70cba71f
|
@ -440,6 +440,12 @@ static int nci_close_device(struct nci_dev *ndev)
|
|||
set_bit(NCI_INIT, &ndev->flags);
|
||||
__nci_request(ndev, nci_reset_req, 0,
|
||||
msecs_to_jiffies(NCI_RESET_TIMEOUT));
|
||||
|
||||
/* After this point our queues are empty
|
||||
* and no works are scheduled.
|
||||
*/
|
||||
ndev->ops->close(ndev);
|
||||
|
||||
clear_bit(NCI_INIT, &ndev->flags);
|
||||
|
||||
del_timer_sync(&ndev->cmd_timer);
|
||||
|
@ -447,10 +453,6 @@ static int nci_close_device(struct nci_dev *ndev)
|
|||
/* Flush cmd wq */
|
||||
flush_workqueue(ndev->cmd_wq);
|
||||
|
||||
/* After this point our queues are empty
|
||||
* and no works are scheduled. */
|
||||
ndev->ops->close(ndev);
|
||||
|
||||
/* Clear flags */
|
||||
ndev->flags = 0;
|
||||
|
||||
|
|
Loading…
Reference in New Issue