mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-04-09 19:48:04 +07:00
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
This commit is contained in:
commit
4c07ab0fe4
@ -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);
|
||||||
|
@ -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;
|
||||||
|
@ -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);
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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 },
|
||||||
|
Loading…
Reference in New Issue
Block a user