• Azael Avalos's avatar
    toshiba_bluetooth: Fix enabling/disabling loop on recent devices · 5d3fc1d5
    Azael Avalos authored
    Bug 93911 reported a broken handling of the BT device, causing the
    driver to get stuck in a loop enabling/disabling the device whenever
    the device is deactivated by the kill switch as follows:
    
    1. The user activated the kill switch, causing the system to generate
       a 0x90 (status change) event and disabling the BT device.
    2. The driver catches the event and re-enables the BT device.
    3. The system detects the device being activated, but since the kill
       switch is activated, disables the BT device (again) and generates
       a 0x90 event (again).
    4. Repeat from 2.
    
    This patch adds an extra check to verify the status of the BT device,
    returning silently if it is already activated.
    
    Also, checks and returns appropriate error values while evaluating
    the AUSB and BTPO methods.
    Signed-off-by: default avatarAzael Avalos <coproscefalo@gmail.com>
    Signed-off-by: default avatarDarren Hart <dvhart@linux.intel.com>
    5d3fc1d5
toshiba_bluetooth.c 5.06 KB