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);
|
set_bit(NCI_INIT, &ndev->flags);
|
||||||
__nci_request(ndev, nci_reset_req, 0,
|
__nci_request(ndev, nci_reset_req, 0,
|
||||||
msecs_to_jiffies(NCI_RESET_TIMEOUT));
|
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);
|
clear_bit(NCI_INIT, &ndev->flags);
|
||||||
|
|
||||||
del_timer_sync(&ndev->cmd_timer);
|
del_timer_sync(&ndev->cmd_timer);
|
||||||
@ -447,10 +453,6 @@ static int nci_close_device(struct nci_dev *ndev)
|
|||||||
/* Flush cmd wq */
|
/* Flush cmd wq */
|
||||||
flush_workqueue(ndev->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 */
|
/* Clear flags */
|
||||||
ndev->flags = 0;
|
ndev->flags = 0;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user