NFC: NCI: Cancel cmd_timer in nci_close_device()
authorAmitkumar Karwar <akarwar@marvell.com>
Mon, 23 Dec 2013 22:15:13 +0000 (14:15 -0800)
committerSamuel Ortiz <sameo@linux.intel.com>
Sun, 5 Jan 2014 22:20:15 +0000 (23:20 +0100)
commitfa9be5f009e8cfc695a2cd71617fc620ab5c1c18
treebad68b5f41934abd1173136929ff3ee6d4f57d5b
parentc36aeba8c072d20a08e8546483494ab0f6458963
NFC: NCI: Cancel cmd_timer in nci_close_device()

nci_close_device() sends nci reset command to the device.
If there is no response for this command, nci request timeout
occurs first and then cmd timeout happens. Because command
timer has started after sending the command.

We are immediately flushing command workqueue after nci
timeout. Later we will try to schedule cmd_work in command
timer which leads to a crash.

Cancel cmd_timer before flushing the workqueue to fix the
problem.

Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
net/nfc/nci/core.c