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

Commit 4c07ab0f authored by David S. Miller's avatar David S. Miller
Browse files
parents cec5eb7b 6115e855
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -294,8 +294,6 @@ static int ath_stop(struct ath_softc *sc)
	 * hardware is gone (invalid).
	 * hardware is gone (invalid).
	 */
	 */


	if (!sc->sc_invalid)
		ath9k_hw_set_interrupts(ah, 0);
	ath_draintxq(sc, false);
	ath_draintxq(sc, false);
	if (!sc->sc_invalid) {
	if (!sc->sc_invalid) {
		ath_stoprecv(sc);
		ath_stoprecv(sc);
@@ -1336,6 +1334,8 @@ void ath_deinit(struct ath_softc *sc)


	DPRINTF(sc, ATH_DBG_CONFIG, "%s\n", __func__);
	DPRINTF(sc, ATH_DBG_CONFIG, "%s\n", __func__);


	tasklet_kill(&sc->intr_tq);
	tasklet_kill(&sc->bcon_tasklet);
	ath_stop(sc);
	ath_stop(sc);
	if (!sc->sc_invalid)
	if (!sc->sc_invalid)
		ath9k_hw_setpower(sc->sc_ah, ATH9K_PM_AWAKE);
		ath9k_hw_setpower(sc->sc_ah, ATH9K_PM_AWAKE);
+0 −1
Original line number Original line Diff line number Diff line
@@ -974,7 +974,6 @@ struct ath_softc {
	u32 sc_keymax;		/* size of key cache */
	u32 sc_keymax;		/* size of key cache */
	DECLARE_BITMAP(sc_keymap, ATH_KEYMAX);	/* key use bit map */
	DECLARE_BITMAP(sc_keymap, ATH_KEYMAX);	/* key use bit map */
	u8 sc_splitmic;		/* split TKIP MIC keys */
	u8 sc_splitmic;		/* split TKIP MIC keys */
	int sc_keytype;


	/* RX */
	/* RX */
	struct list_head sc_rxbuf;
	struct list_head sc_rxbuf;
+8 −4
Original line number Original line Diff line number Diff line
@@ -206,8 +206,6 @@ static int ath_key_config(struct ath_softc *sc,
	if (!ret)
	if (!ret)
		return -EIO;
		return -EIO;


	if (mac)
		sc->sc_keytype = hk.kv_type;
	return 0;
	return 0;
}
}


@@ -778,7 +776,6 @@ static int ath9k_set_key(struct ieee80211_hw *hw,
	case DISABLE_KEY:
	case DISABLE_KEY:
		ath_key_delete(sc, key);
		ath_key_delete(sc, key);
		clear_bit(key->keyidx, sc->sc_keymap);
		clear_bit(key->keyidx, sc->sc_keymap);
		sc->sc_keytype = ATH9K_CIPHER_CLR;
		break;
		break;
	default:
	default:
		ret = -EINVAL;
		ret = -EINVAL;
@@ -1414,10 +1411,17 @@ static void ath_pci_remove(struct pci_dev *pdev)
{
{
	struct ieee80211_hw *hw = pci_get_drvdata(pdev);
	struct ieee80211_hw *hw = pci_get_drvdata(pdev);
	struct ath_softc *sc = hw->priv;
	struct ath_softc *sc = hw->priv;
	enum ath9k_int status;


	if (pdev->irq)
	if (pdev->irq) {
		ath9k_hw_set_interrupts(sc->sc_ah, 0);
		/* clear the ISR */
		ath9k_hw_getisr(sc->sc_ah, &status);
		sc->sc_invalid = 1;
		free_irq(pdev->irq, sc);
		free_irq(pdev->irq, sc);
	}
	ath_detach(sc);
	ath_detach(sc);

	pci_iounmap(pdev, sc->mem);
	pci_iounmap(pdev, sc->mem);
	pci_release_region(pdev, 0);
	pci_release_region(pdev, 0);
	pci_disable_device(pdev);
	pci_disable_device(pdev);
+3 −3
Original line number Original line Diff line number Diff line
@@ -315,11 +315,11 @@ static int ath_tx_prepare(struct ath_softc *sc,
		txctl->keyix = tx_info->control.hw_key->hw_key_idx;
		txctl->keyix = tx_info->control.hw_key->hw_key_idx;
		txctl->frmlen += tx_info->control.icv_len;
		txctl->frmlen += tx_info->control.icv_len;


		if (sc->sc_keytype == ATH9K_CIPHER_WEP)
		if (tx_info->control.hw_key->alg == ALG_WEP)
			txctl->keytype = ATH9K_KEY_TYPE_WEP;
			txctl->keytype = ATH9K_KEY_TYPE_WEP;
		else if (sc->sc_keytype == ATH9K_CIPHER_TKIP)
		else if (tx_info->control.hw_key->alg == ALG_TKIP)
			txctl->keytype = ATH9K_KEY_TYPE_TKIP;
			txctl->keytype = ATH9K_KEY_TYPE_TKIP;
		else if (sc->sc_keytype == ATH9K_CIPHER_AES_CCM)
		else if (tx_info->control.hw_key->alg == ALG_CCMP)
			txctl->keytype = ATH9K_KEY_TYPE_AES;
			txctl->keytype = ATH9K_KEY_TYPE_AES;
	}
	}


+1 −0
Original line number Original line Diff line number Diff line
@@ -58,6 +58,7 @@ static struct usb_device_id usb_ids[] = {
	{ USB_DEVICE(0x0586, 0x3407), .driver_info = DEVICE_ZD1211 },
	{ USB_DEVICE(0x0586, 0x3407), .driver_info = DEVICE_ZD1211 },
	{ USB_DEVICE(0x129b, 0x1666), .driver_info = DEVICE_ZD1211 },
	{ USB_DEVICE(0x129b, 0x1666), .driver_info = DEVICE_ZD1211 },
	{ USB_DEVICE(0x157e, 0x300a), .driver_info = DEVICE_ZD1211 },
	{ USB_DEVICE(0x157e, 0x300a), .driver_info = DEVICE_ZD1211 },
	{ USB_DEVICE(0x0105, 0x145f), .driver_info = DEVICE_ZD1211 },
	/* ZD1211B */
	/* ZD1211B */
	{ USB_DEVICE(0x0ace, 0x1215), .driver_info = DEVICE_ZD1211B },
	{ USB_DEVICE(0x0ace, 0x1215), .driver_info = DEVICE_ZD1211B },
	{ USB_DEVICE(0x157e, 0x300d), .driver_info = DEVICE_ZD1211B },
	{ USB_DEVICE(0x157e, 0x300d), .driver_info = DEVICE_ZD1211B },