Commit 940a0c63 authored by Lorenzo Bianconi's avatar Lorenzo Bianconi Committed by Felix Fietkau
Browse files

mt76: mt7615: wake device before configuring hw keys



Make sure the device is in full-power before uploading keys to the hw

Signed-off-by: default avatarLorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
parent ea4906c4
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -336,7 +336,7 @@ static int mt7615_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
	struct mt7615_sta *msta = sta ? (struct mt7615_sta *)sta->drv_priv :
				  &mvif->sta;
	struct mt76_wcid *wcid = &msta->wcid;
	int idx = key->keyidx;
	int idx = key->keyidx, err;

	/* The hardware does not support per-STA RX GTK, fallback
	 * to software mode for these.
@@ -366,6 +366,8 @@ static int mt7615_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
		return -EOPNOTSUPP;
	}

	mt7615_mutex_acquire(dev);

	if (cmd == SET_KEY) {
		key->hw_key_idx = wcid->idx;
		wcid->hw_key_idx = idx;
@@ -376,9 +378,13 @@ static int mt7615_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
			    cmd == SET_KEY ? key : NULL);

	if (mt76_is_usb(&dev->mt76))
		return mt7615_queue_key_update(dev, cmd, msta, key);
		err = mt7615_queue_key_update(dev, cmd, msta, key);
	else
		err = mt7615_mac_wtbl_set_key(dev, wcid, key, cmd);

	return mt7615_mac_wtbl_set_key(dev, wcid, key, cmd);
	mt7615_mutex_release(dev);

	return err;
}

static int mt7615_config(struct ieee80211_hw *hw, u32 changed)