Loading drivers/net/wireless/Kconfig +1 −1 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ menu "Wireless LAN (non-hamradio)" depends on NETDEVICES config NET_RADIO bool "Wireless LAN drivers (non-hamradio)" bool "Wireless LAN drivers (non-hamradio) & Wireless Extensions" select WIRELESS_EXT ---help--- Support for wireless LANs and everything having to do with radio, Loading drivers/net/wireless/airo.c +17 −29 Original line number Diff line number Diff line Loading @@ -3139,6 +3139,7 @@ static irqreturn_t airo_interrupt ( int irq, void* dev_id, struct pt_regs *regs) } if ( status & EV_LINK ) { union iwreq_data wrqu; int scan_forceloss = 0; /* The link status has changed, if you want to put a monitor hook in, do it here. (Remember that interrupts are still disabled!) Loading @@ -3157,7 +3158,8 @@ static irqreturn_t airo_interrupt ( int irq, void* dev_id, struct pt_regs *regs) code) */ #define AUTHFAIL 0x0300 /* Authentication failure (low byte is reason code) */ #define ASSOCIATED 0x0400 /* Assocatied */ #define ASSOCIATED 0x0400 /* Associated */ #define REASSOCIATED 0x0600 /* Reassociated? Only on firmware >= 5.30.17 */ #define RC_RESERVED 0 /* Reserved return code */ #define RC_NOREASON 1 /* Unspecified reason */ #define RC_AUTHINV 2 /* Previous authentication invalid */ Loading @@ -3174,44 +3176,30 @@ static irqreturn_t airo_interrupt ( int irq, void* dev_id, struct pt_regs *regs) leaving BSS */ #define RC_NOAUTH 9 /* Station requesting (Re)Association is not Authenticated with the responding station */ if (newStatus != ASSOCIATED) { if (auto_wep && !apriv->expires) { apriv->expires = RUN_AT(3*HZ); wake_up_interruptible(&apriv->thr_wait); } } else { struct task_struct *task = apriv->task; if (newStatus == FORCELOSS && apriv->scan_timeout > 0) scan_forceloss = 1; if(newStatus == ASSOCIATED || newStatus == REASSOCIATED) { if (auto_wep) apriv->expires = 0; if (task) wake_up_process (task); if (apriv->task) wake_up_process (apriv->task); set_bit(FLAG_UPDATE_UNI, &apriv->flags); set_bit(FLAG_UPDATE_MULTI, &apriv->flags); } /* Question : is ASSOCIATED the only status * that is valid ? We want to catch handover * and reassociations as valid status * Jean II */ if(newStatus == ASSOCIATED) { #if 0 /* FIXME: Grabbing scan results here * seems to be too early??? Just wait for * timeout instead. */ if (apriv->scan_timeout > 0) { set_bit(JOB_SCAN_RESULTS, &apriv->flags); wake_up_interruptible(&apriv->thr_wait); } #endif if (down_trylock(&apriv->sem) != 0) { set_bit(JOB_EVENT, &apriv->flags); wake_up_interruptible(&apriv->thr_wait); } else airo_send_event(dev); } else { memset(wrqu.ap_addr.sa_data, '\0', ETH_ALEN); wrqu.ap_addr.sa_family = ARPHRD_ETHER; } else if (!scan_forceloss) { if (auto_wep && !apriv->expires) { apriv->expires = RUN_AT(3*HZ); wake_up_interruptible(&apriv->thr_wait); } /* Send event to user space */ memset(wrqu.ap_addr.sa_data, '\0', ETH_ALEN); wrqu.ap_addr.sa_family = ARPHRD_ETHER; wireless_send_event(dev, SIOCGIWAP, &wrqu,NULL); } } Loading Loading @@ -7136,10 +7124,10 @@ static int airo_set_scan(struct net_device *dev, goto out; /* Initiate a scan command */ ai->scan_timeout = RUN_AT(3*HZ); memset(&cmd, 0, sizeof(cmd)); cmd.cmd=CMD_LISTBSS; issuecommand(ai, &cmd, &rsp); ai->scan_timeout = RUN_AT(3*HZ); wake = 1; out: Loading drivers/net/wireless/atmel.c +11 −0 Original line number Diff line number Diff line Loading @@ -3463,6 +3463,7 @@ static void atmel_command_irq(struct atmel_private *priv) u8 status = atmel_rmem8(priv, atmel_co(priv, CMD_BLOCK_STATUS_OFFSET)); u8 command = atmel_rmem8(priv, atmel_co(priv, CMD_BLOCK_COMMAND_OFFSET)); int fast_scan; union iwreq_data wrqu; if (status == CMD_STATUS_IDLE || status == CMD_STATUS_IN_PROGRESS) Loading @@ -3487,6 +3488,7 @@ static void atmel_command_irq(struct atmel_private *priv) atmel_scan(priv, 1); } else { int bss_index = retrieve_bss(priv); int notify_scan_complete = 1; if (bss_index != -1) { atmel_join_bss(priv, bss_index); } else if (priv->operating_mode == IW_MODE_ADHOC && Loading @@ -3495,8 +3497,14 @@ static void atmel_command_irq(struct atmel_private *priv) } else { priv->fast_scan = !fast_scan; atmel_scan(priv, 1); notify_scan_complete = 0; } priv->site_survey_state = SITE_SURVEY_COMPLETED; if (notify_scan_complete) { wrqu.data.length = 0; wrqu.data.flags = 0; wireless_send_event(priv->dev, SIOCGIWSCAN, &wrqu, NULL); } } break; Loading @@ -3509,6 +3517,9 @@ static void atmel_command_irq(struct atmel_private *priv) priv->site_survey_state = SITE_SURVEY_COMPLETED; if (priv->station_is_associated) { atmel_enter_state(priv, STATION_STATE_READY); wrqu.data.length = 0; wrqu.data.flags = 0; wireless_send_event(priv->dev, SIOCGIWSCAN, &wrqu, NULL); } else { atmel_scan(priv, 1); } Loading drivers/net/wireless/bcm43xx/Kconfig +3 −0 Original line number Diff line number Diff line Loading @@ -17,8 +17,11 @@ config BCM43XX_DEBUG config BCM43XX_DMA bool depends on BCM43XX config BCM43XX_PIO bool depends on BCM43XX choice prompt "BCM43xx data transfer mode" Loading drivers/net/wireless/bcm43xx/bcm43xx.h +14 −3 Original line number Diff line number Diff line Loading @@ -15,7 +15,6 @@ #include "bcm43xx_debugfs.h" #include "bcm43xx_leds.h" #include "bcm43xx_sysfs.h" #define PFX KBUILD_MODNAME ": " Loading Loading @@ -638,8 +637,6 @@ struct bcm43xx_key { }; struct bcm43xx_private { struct bcm43xx_sysfs sysfs; struct ieee80211_device *ieee; struct ieee80211softmac_device *softmac; Loading Loading @@ -772,6 +769,20 @@ struct bcm43xx_private * bcm43xx_priv(struct net_device *dev) return ieee80211softmac_priv(dev); } struct device; static inline struct bcm43xx_private * dev_to_bcm(struct device *dev) { struct net_device *net_dev; struct bcm43xx_private *bcm; net_dev = dev_get_drvdata(dev); bcm = bcm43xx_priv(net_dev); return bcm; } /* Helper function, which returns a boolean. * TRUE, if PIO is used; FALSE, if DMA is used. Loading Loading
drivers/net/wireless/Kconfig +1 −1 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ menu "Wireless LAN (non-hamradio)" depends on NETDEVICES config NET_RADIO bool "Wireless LAN drivers (non-hamradio)" bool "Wireless LAN drivers (non-hamradio) & Wireless Extensions" select WIRELESS_EXT ---help--- Support for wireless LANs and everything having to do with radio, Loading
drivers/net/wireless/airo.c +17 −29 Original line number Diff line number Diff line Loading @@ -3139,6 +3139,7 @@ static irqreturn_t airo_interrupt ( int irq, void* dev_id, struct pt_regs *regs) } if ( status & EV_LINK ) { union iwreq_data wrqu; int scan_forceloss = 0; /* The link status has changed, if you want to put a monitor hook in, do it here. (Remember that interrupts are still disabled!) Loading @@ -3157,7 +3158,8 @@ static irqreturn_t airo_interrupt ( int irq, void* dev_id, struct pt_regs *regs) code) */ #define AUTHFAIL 0x0300 /* Authentication failure (low byte is reason code) */ #define ASSOCIATED 0x0400 /* Assocatied */ #define ASSOCIATED 0x0400 /* Associated */ #define REASSOCIATED 0x0600 /* Reassociated? Only on firmware >= 5.30.17 */ #define RC_RESERVED 0 /* Reserved return code */ #define RC_NOREASON 1 /* Unspecified reason */ #define RC_AUTHINV 2 /* Previous authentication invalid */ Loading @@ -3174,44 +3176,30 @@ static irqreturn_t airo_interrupt ( int irq, void* dev_id, struct pt_regs *regs) leaving BSS */ #define RC_NOAUTH 9 /* Station requesting (Re)Association is not Authenticated with the responding station */ if (newStatus != ASSOCIATED) { if (auto_wep && !apriv->expires) { apriv->expires = RUN_AT(3*HZ); wake_up_interruptible(&apriv->thr_wait); } } else { struct task_struct *task = apriv->task; if (newStatus == FORCELOSS && apriv->scan_timeout > 0) scan_forceloss = 1; if(newStatus == ASSOCIATED || newStatus == REASSOCIATED) { if (auto_wep) apriv->expires = 0; if (task) wake_up_process (task); if (apriv->task) wake_up_process (apriv->task); set_bit(FLAG_UPDATE_UNI, &apriv->flags); set_bit(FLAG_UPDATE_MULTI, &apriv->flags); } /* Question : is ASSOCIATED the only status * that is valid ? We want to catch handover * and reassociations as valid status * Jean II */ if(newStatus == ASSOCIATED) { #if 0 /* FIXME: Grabbing scan results here * seems to be too early??? Just wait for * timeout instead. */ if (apriv->scan_timeout > 0) { set_bit(JOB_SCAN_RESULTS, &apriv->flags); wake_up_interruptible(&apriv->thr_wait); } #endif if (down_trylock(&apriv->sem) != 0) { set_bit(JOB_EVENT, &apriv->flags); wake_up_interruptible(&apriv->thr_wait); } else airo_send_event(dev); } else { memset(wrqu.ap_addr.sa_data, '\0', ETH_ALEN); wrqu.ap_addr.sa_family = ARPHRD_ETHER; } else if (!scan_forceloss) { if (auto_wep && !apriv->expires) { apriv->expires = RUN_AT(3*HZ); wake_up_interruptible(&apriv->thr_wait); } /* Send event to user space */ memset(wrqu.ap_addr.sa_data, '\0', ETH_ALEN); wrqu.ap_addr.sa_family = ARPHRD_ETHER; wireless_send_event(dev, SIOCGIWAP, &wrqu,NULL); } } Loading Loading @@ -7136,10 +7124,10 @@ static int airo_set_scan(struct net_device *dev, goto out; /* Initiate a scan command */ ai->scan_timeout = RUN_AT(3*HZ); memset(&cmd, 0, sizeof(cmd)); cmd.cmd=CMD_LISTBSS; issuecommand(ai, &cmd, &rsp); ai->scan_timeout = RUN_AT(3*HZ); wake = 1; out: Loading
drivers/net/wireless/atmel.c +11 −0 Original line number Diff line number Diff line Loading @@ -3463,6 +3463,7 @@ static void atmel_command_irq(struct atmel_private *priv) u8 status = atmel_rmem8(priv, atmel_co(priv, CMD_BLOCK_STATUS_OFFSET)); u8 command = atmel_rmem8(priv, atmel_co(priv, CMD_BLOCK_COMMAND_OFFSET)); int fast_scan; union iwreq_data wrqu; if (status == CMD_STATUS_IDLE || status == CMD_STATUS_IN_PROGRESS) Loading @@ -3487,6 +3488,7 @@ static void atmel_command_irq(struct atmel_private *priv) atmel_scan(priv, 1); } else { int bss_index = retrieve_bss(priv); int notify_scan_complete = 1; if (bss_index != -1) { atmel_join_bss(priv, bss_index); } else if (priv->operating_mode == IW_MODE_ADHOC && Loading @@ -3495,8 +3497,14 @@ static void atmel_command_irq(struct atmel_private *priv) } else { priv->fast_scan = !fast_scan; atmel_scan(priv, 1); notify_scan_complete = 0; } priv->site_survey_state = SITE_SURVEY_COMPLETED; if (notify_scan_complete) { wrqu.data.length = 0; wrqu.data.flags = 0; wireless_send_event(priv->dev, SIOCGIWSCAN, &wrqu, NULL); } } break; Loading @@ -3509,6 +3517,9 @@ static void atmel_command_irq(struct atmel_private *priv) priv->site_survey_state = SITE_SURVEY_COMPLETED; if (priv->station_is_associated) { atmel_enter_state(priv, STATION_STATE_READY); wrqu.data.length = 0; wrqu.data.flags = 0; wireless_send_event(priv->dev, SIOCGIWSCAN, &wrqu, NULL); } else { atmel_scan(priv, 1); } Loading
drivers/net/wireless/bcm43xx/Kconfig +3 −0 Original line number Diff line number Diff line Loading @@ -17,8 +17,11 @@ config BCM43XX_DEBUG config BCM43XX_DMA bool depends on BCM43XX config BCM43XX_PIO bool depends on BCM43XX choice prompt "BCM43xx data transfer mode" Loading
drivers/net/wireless/bcm43xx/bcm43xx.h +14 −3 Original line number Diff line number Diff line Loading @@ -15,7 +15,6 @@ #include "bcm43xx_debugfs.h" #include "bcm43xx_leds.h" #include "bcm43xx_sysfs.h" #define PFX KBUILD_MODNAME ": " Loading Loading @@ -638,8 +637,6 @@ struct bcm43xx_key { }; struct bcm43xx_private { struct bcm43xx_sysfs sysfs; struct ieee80211_device *ieee; struct ieee80211softmac_device *softmac; Loading Loading @@ -772,6 +769,20 @@ struct bcm43xx_private * bcm43xx_priv(struct net_device *dev) return ieee80211softmac_priv(dev); } struct device; static inline struct bcm43xx_private * dev_to_bcm(struct device *dev) { struct net_device *net_dev; struct bcm43xx_private *bcm; net_dev = dev_get_drvdata(dev); bcm = bcm43xx_priv(net_dev); return bcm; } /* Helper function, which returns a boolean. * TRUE, if PIO is used; FALSE, if DMA is used. Loading