Search Linux Wireless

Re: [PATCH 6/6] adm8211: Detect interface up/down in suspend/resume hooks correctly

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Monday 24 September 2007 18:10, Michael Wu wrote:
> From: Michael Wu <flamingice@xxxxxxxxxxxx>
>
> Interface up/down detection was incorrectly changed during the filter API
> update.
>
> Signed-off-by: Michael Wu <flamingice@xxxxxxxxxxxx>
Opps. This patch is missing one part that's needed to make it actually work. 
Working patch attached. Please use this instead.

Thanks,
-Michael Wu
commit 062677a448a8d8218d09f3f86520646fb4c1afee
Author: Michael Wu <flamingice@xxxxxxxxxxxx>
Date:   Mon Sep 24 18:32:39 2007 -0400

    adm8211: Detect interface up/down in suspend/resume hooks correctly
    
    Interface up/down detection was incorrectly changed during the filter API
    update.
    
    Signed-off-by: Michael Wu <flamingice@xxxxxxxxxxxx>

diff --git a/drivers/net/wireless/adm8211.c b/drivers/net/wireless/adm8211.c
index 95c8315..e4fdadb 100644
--- a/drivers/net/wireless/adm8211.c
+++ b/drivers/net/wireless/adm8211.c
@@ -1540,6 +1540,7 @@ static int adm8211_start(struct ieee80211_hw *dev)
 	ADM8211_CSR_WRITE(IER, ADM8211_IER_NIE | ADM8211_IER_AIE |
 			       ADM8211_IER_RCIE | ADM8211_IER_TCIE |
 			       ADM8211_IER_TDUIE | ADM8211_IER_GPTIE);
+	priv->mode = IEEE80211_IF_TYPE_MNTR;
 	adm8211_update_mode(dev);
 	ADM8211_CSR_WRITE(RDR, 0);
 
@@ -1554,6 +1555,7 @@ static void adm8211_stop(struct ieee80211_hw *dev)
 {
 	struct adm8211_priv *priv = dev->priv;
 
+	priv->mode = IEEE80211_IF_TYPE_MGMT;
 	priv->nar = 0;
 	ADM8211_CSR_WRITE(NAR, 0);
 	ADM8211_CSR_WRITE(IER, 0);
@@ -1896,7 +1898,7 @@ static int __devinit adm8211_probe(struct pci_dev *pdev,
 	priv->tx_power = 0x40;
 	priv->lpf_cutoff = 0xFF;
 	priv->lnags_threshold = 0xFF;
-	priv->mode = IEEE80211_IF_TYPE_MNTR;
+	priv->mode = IEEE80211_IF_TYPE_MGMT;
 
 	/* Power-on issue. EEPROM won't read correctly without */
 	if (pdev->revision >= ADM8211_REV_BA) {
@@ -1991,7 +1993,7 @@ static int adm8211_suspend(struct pci_dev *pdev, pm_message_t state)
 	struct ieee80211_hw *dev = pci_get_drvdata(pdev);
 	struct adm8211_priv *priv = dev->priv;
 
-	if (priv->mode != IEEE80211_IF_TYPE_MNTR) {
+	if (priv->mode != IEEE80211_IF_TYPE_MGMT) {
 		ieee80211_stop_queues(dev);
 		adm8211_stop(dev);
 	}
@@ -2009,7 +2011,7 @@ static int adm8211_resume(struct pci_dev *pdev)
 	pci_set_power_state(pdev, PCI_D0);
 	pci_restore_state(pdev);
 
-	if (priv->mode != IEEE80211_IF_TYPE_MNTR) {
+	if (priv->mode != IEEE80211_IF_TYPE_MGMT) {
 		adm8211_start(dev);
 		ieee80211_start_queues(dev);
 	}

Attachment: pgp2QMjiXqF3Y.pgp
Description: PGP signature


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux