Commit 04824da9 authored by Felix Fietkau's avatar Felix Fietkau
Browse files

mt76: remove offchannel check in tx scheduling



tx queues are already disabled by mac80211 during scanning or other
off-channel activity. There is no need to repeat the check in mt76,
since scheduled queues are selected by mac80211 as well.

Signed-off-by: default avatarBalakrishna Bandi <b.balakrishna@globaledgesoft.com>
Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
parent e3ca8fa0
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -406,11 +406,6 @@ void mt76_set_channel(struct mt76_dev *dev)
	bool offchannel = hw->conf.flags & IEEE80211_CONF_OFFCHANNEL;
	int timeout = HZ / 5;

	if (offchannel)
		set_bit(MT76_OFFCHANNEL, &dev->state);
	else
		clear_bit(MT76_OFFCHANNEL, &dev->state);

	wait_event_timeout(dev->tx_wait, !mt76_has_tx_pending(dev), timeout);

	if (dev->drv->update_survey)
+0 −1
Original line number Diff line number Diff line
@@ -272,7 +272,6 @@ enum {
	MT76_STATE_MCU_RUNNING,
	MT76_SCANNING,
	MT76_RESET,
	MT76_OFFCHANNEL,
	MT76_REMOVED,
	MT76_READING_STATS,
};
+2 −4
Original line number Diff line number Diff line
@@ -427,8 +427,7 @@ mt76_txq_send_burst(struct mt76_dev *dev, struct mt76_sw_queue *sq,
		if (probe)
			break;

		if (test_bit(MT76_OFFCHANNEL, &dev->state) ||
		    test_bit(MT76_RESET, &dev->state))
		if (test_bit(MT76_RESET, &dev->state))
			return -EBUSY;

		skb = mt76_txq_dequeue(dev, mtxq, false);
@@ -487,8 +486,7 @@ mt76_txq_schedule_list(struct mt76_dev *dev, enum mt76_txq_id qid)
		if (sq->swq_queued >= 4)
			break;

		if (test_bit(MT76_OFFCHANNEL, &dev->state) ||
		    test_bit(MT76_RESET, &dev->state)) {
		if (test_bit(MT76_RESET, &dev->state)) {
			ret = -EBUSY;
			break;
		}