Bluetooth: hci_qca: Simplify determination of serial clock on/off state from votes
authorMatthias Kaehlcke <mka@chromium.org>
Sat, 6 Jun 2020 16:53:06 +0000 (09:53 -0700)
committerMarcel Holtmann <marcel@holtmann.org>
Mon, 8 Jun 2020 08:09:37 +0000 (10:09 +0200)
The serial clocks should be on when there is a vote for at least one
of the clocks (RX or TX), and off when there is no 'on' vote. The
current logic to determine the combined state is a bit redundant
in the code paths for different types of votes, use a single
statement in the common path instead.

Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/hci_qca.c

index 836949d..997ddab 100644 (file)
@@ -289,25 +289,21 @@ static void serial_clock_vote(unsigned long vote, struct hci_uart *hu)
        case HCI_IBS_TX_VOTE_CLOCK_ON:
                qca->tx_vote = true;
                qca->tx_votes_on++;
-               new_vote = true;
                break;
 
        case HCI_IBS_RX_VOTE_CLOCK_ON:
                qca->rx_vote = true;
                qca->rx_votes_on++;
-               new_vote = true;
                break;
 
        case HCI_IBS_TX_VOTE_CLOCK_OFF:
                qca->tx_vote = false;
                qca->tx_votes_off++;
-               new_vote = qca->rx_vote | qca->tx_vote;
                break;
 
        case HCI_IBS_RX_VOTE_CLOCK_OFF:
                qca->rx_vote = false;
                qca->rx_votes_off++;
-               new_vote = qca->rx_vote | qca->tx_vote;
                break;
 
        default:
@@ -315,6 +311,8 @@ static void serial_clock_vote(unsigned long vote, struct hci_uart *hu)
                return;
        }
 
+       new_vote = qca->rx_vote | qca->tx_vote;
+
        if (new_vote != old_vote) {
                if (new_vote)
                        __serial_clock_on(hu->tty);