diff options
author | Matthias Kaehlcke <mka@chromium.org> | 2020-06-06 18:53:06 +0200 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2020-06-08 10:09:37 +0200 |
commit | 7310dd3fbaa5a23f2b4a1c17ece2a0c7434a1d98 (patch) | |
tree | 99408333ffedea5520292f55f1d57d8f7f8e7c26 | |
parent | Bluetooth: hci_qca: Fix an error pointer dereference (diff) | |
download | linux-7310dd3fbaa5a23f2b4a1c17ece2a0c7434a1d98.tar.xz linux-7310dd3fbaa5a23f2b4a1c17ece2a0c7434a1d98.zip |
Bluetooth: hci_qca: Simplify determination of serial clock on/off state from votes
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>
-rw-r--r-- | drivers/bluetooth/hci_qca.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c index 836949d827ee..997ddab26a33 100644 --- a/drivers/bluetooth/hci_qca.c +++ b/drivers/bluetooth/hci_qca.c @@ -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); |