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

Commit 1c818740 authored by Bob Copeland's avatar Bob Copeland Committed by John W. Linville
Browse files

ath5k: add hardware CCMP encyption support



Recent ath5k hardware is capable of doing CCMP acceleration.
Enable it for the cards that support it.

Signed-off-by: default avatarBob Copeland <me@bobcopeland.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 1c5256bb
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1037,6 +1037,7 @@ struct ath5k_hw {
	bool			ah_turbo;
	bool			ah_calibration;
	bool			ah_single_chip;
	bool			ah_aes_support;
	bool			ah_combined_mic;

	enum ath5k_version	ah_version;
+10 −0
Original line number Diff line number Diff line
@@ -106,6 +106,7 @@ struct ath5k_hw *ath5k_hw_attach(struct ath5k_softc *sc, u8 mac_version)
{
	struct ath5k_hw *ah;
	struct pci_dev *pdev = sc->pdev;
	struct ath5k_eeprom_info *ee;
	int ret;
	u32 srev;

@@ -315,6 +316,15 @@ struct ath5k_hw *ath5k_hw_attach(struct ath5k_softc *sc, u8 mac_version)
		goto err_free;
	}

	/* Crypto settings */
	ee = &ah->ah_capabilities.cap_eeprom;
	ah->ah_aes_support =
		(ee->ee_version >= AR5K_EEPROM_VERSION_5_0 &&
		 !AR5K_EEPROM_AES_DIS(ee->ee_misc5) &&
		 (ah->ah_mac_version > (AR5K_SREV_AR5212 >> 4) ||
		  (ah->ah_mac_version == (AR5K_SREV_AR5212 >> 4) &&
		   ah->ah_mac_revision >= (AR5K_SREV_AR5211 >> 4))));

	if (srev >= AR5K_SREV_AR2414) {
		ah->ah_combined_mic = true;
		AR5K_REG_ENABLE_BITS(ah, AR5K_MISC_MODE,
+3 −0
Original line number Diff line number Diff line
@@ -3022,6 +3022,9 @@ ath5k_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
	case ALG_TKIP:
		break;
	case ALG_CCMP:
		if (sc->ah->ah_aes_support)
			break;

		return -EOPNOTSUPP;
	default:
		WARN_ON(1);