• David Herrmann's avatar
    Bluetooth: Fix hci core device initialization · 0ac7e700
    David Herrmann authored
    We must not call device_del() if we didn't use device_add(). See module.c
    for comments on that. Therefore, we need to call device_initialize() when
    allocating the hci device and later device_add() instead of
    device_register().
    
    This also fixes a bug when hci_register_dev() failed and we call
    hci_free_dev() without a valid core device. hci_free_dev() segfaults while
    calling put_device() on invalid memory.
    
    We already do this with hci_conn connections (hci_conn_init_sysfs()) so
    they do not need to be fixed.
    Signed-off-by: default avatarDavid Herrmann <dh.herrmann@googlemail.com>
    Signed-off-by: default avatarGustavo F. Padovan <padovan@profusion.mobi>
    0ac7e700
hci_core.c 50.4 KB