Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ad8fdccf authored by Felix Fietkau's avatar Felix Fietkau Committed by John W. Linville
Browse files

ath9k_hw: fix hardware queue allocation



The driver passes the desired hardware queue index for a WMM data queue
in qinfo->tqi_subtype. This was ignored in ath9k_hw_setuptxqueue, which
instead relied on the order in which the function is called.

Cc: stable@vger.kernel.org
Reported-by: default avatarHubert Feurstein <h.feurstein@gmail.com>
Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent c0fb754b
Loading
Loading
Loading
Loading
+1 −8
Original line number Original line Diff line number Diff line
@@ -311,14 +311,7 @@ int ath9k_hw_setuptxqueue(struct ath_hw *ah, enum ath9k_tx_queue type,
		q = ATH9K_NUM_TX_QUEUES - 3;
		q = ATH9K_NUM_TX_QUEUES - 3;
		break;
		break;
	case ATH9K_TX_QUEUE_DATA:
	case ATH9K_TX_QUEUE_DATA:
		for (q = 0; q < ATH9K_NUM_TX_QUEUES; q++)
		q = qinfo->tqi_subtype;
			if (ah->txq[q].tqi_type ==
			    ATH9K_TX_QUEUE_INACTIVE)
				break;
		if (q == ATH9K_NUM_TX_QUEUES) {
			ath_err(common, "No available TX queue\n");
			return -1;
		}
		break;
		break;
	default:
	default:
		ath_err(common, "Invalid TX queue type: %u\n", type);
		ath_err(common, "Invalid TX queue type: %u\n", type);