• Johan Hovold's avatar
    Bluetooth: qca: fix NULL-deref on non-serdev suspend · 73e87c0a
    Johan Hovold authored
    Qualcomm ROME controllers can be registered from the Bluetooth line
    discipline and in this case the HCI UART serdev pointer is NULL.
    
    Add the missing sanity check to prevent a NULL-pointer dereference when
    wakeup() is called for a non-serdev controller during suspend.
    
    Just return true for now to restore the original behaviour and address
    the crash with pre-6.2 kernels, which do not have commit e9b3e5b8
    ("Bluetooth: hci_qca: only assign wakeup with serial port support") that
    causes the crash to happen already at setup() time.
    
    Fixes: c1a74160 ("Bluetooth: hci_qca: Add device_may_wakeup support")
    Cc: stable@vger.kernel.org      # 5.13
    Signed-off-by: default avatarJohan Hovold <johan+linaro@kernel.org>
    Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
    73e87c0a
hci_qca.c 66.3 KB