• D
    Bluetooth: Correctly take hci_dev->dev refcount · 4c724c71
    David Herrmann 提交于
    The hci_dev->dev device structure has an internal refcount. This
    refcount is used to protect the whole hci_dev object. However, we
    currently do not use it.  Therefore, if someone calls hci_free_dev() we
    currently immediately destroy the hci_dev object because we never took
    the device refcount.
    
    This even happens if the hci_dev->refcnt is not 0. In fact, the
    hci_dev->refcnt is totally useless in its current state. Therefore, we
    simply remove hci_dev->refcnt and instead use hci_dev->dev refcnt.
    
    This fixes all the symptoms and also correctly integrates the device
    structure into our bluetooth bus system.
    Signed-off-by: NDavid Herrmann <dh.herrmann@googlemail.com>
    Acked-by: NMarcel Holtmann <marcel@holtmann.org>
    Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com>
    4c724c71
hci_core.h 25.5 KB