summaryrefslogtreecommitdiff
path: root/tools/hv
diff options
context:
space:
mode:
authorJohan Hovold <johan@kernel.org>2017-03-30 10:15:35 (GMT)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-07-27 22:07:56 (GMT)
commitf73de3f9915c997dd091cadcdbafbdb9835f2cf5 (patch)
treec618a7bb9085a16f7f59a3936686d03bc07e1449 /tools/hv
parent48879676a8c3f481e1ae51ccde6d6e7515753476 (diff)
downloadlinux-f73de3f9915c997dd091cadcdbafbdb9835f2cf5.tar.xz
NFC: fix broken device allocation
commit 20777bc57c346b6994f465e0d8261a7fbf213a09 upstream. Commit 7eda8b8e9677 ("NFC: Use IDR library to assing NFC devices IDs") moved device-id allocation and struct-device initialisation from nfc_allocate_device() to nfc_register_device(). This broke just about every nfc-device-registration error path, which continue to call nfc_free_device() that tries to put the device reference of the now uninitialised (but zeroed) struct device: kobject: '(null)' (ce316420): is not initialized, yet kobject_put() is being called. The late struct-device initialisation also meant that various work queues whose names are derived from the nfc device name were also misnamed: 421 root 0 SW< [(null)_nci_cmd_] 422 root 0 SW< [(null)_nci_rx_w] 423 root 0 SW< [(null)_nci_tx_w] Move the id-allocation and struct-device initialisation back to nfc_allocate_device() and fix up the single call site which did not use nfc_free_device() in its error path. Fixes: 7eda8b8e9677 ("NFC: Use IDR library to assing NFC devices IDs") Cc: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: Johan Hovold <johan@kernel.org> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'tools/hv')
0 files changed, 0 insertions, 0 deletions