|
@@ -3267,6 +3267,7 @@ static void airo_handle_link(struct airo_info *ai)
|
|
|
wake_up_interruptible(&ai->thr_wait);
|
|
|
} else
|
|
|
airo_send_event(ai->dev);
|
|
|
+ netif_carrier_on(ai->dev);
|
|
|
} else if (!scan_forceloss) {
|
|
|
if (auto_wep && !ai->expires) {
|
|
|
ai->expires = RUN_AT(3*HZ);
|
|
@@ -3277,6 +3278,9 @@ static void airo_handle_link(struct airo_info *ai)
|
|
|
eth_zero_addr(wrqu.ap_addr.sa_data);
|
|
|
wrqu.ap_addr.sa_family = ARPHRD_ETHER;
|
|
|
wireless_send_event(ai->dev, SIOCGIWAP, &wrqu, NULL);
|
|
|
+ netif_carrier_off(ai->dev);
|
|
|
+ } else {
|
|
|
+ netif_carrier_off(ai->dev);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -3613,6 +3617,7 @@ static void disable_MAC( struct airo_info *ai, int lock ) {
|
|
|
return;
|
|
|
|
|
|
if (test_bit(FLAG_ENABLED, &ai->flags)) {
|
|
|
+ netif_carrier_off(ai->dev);
|
|
|
memset(&cmd, 0, sizeof(cmd));
|
|
|
cmd.cmd = MAC_DISABLE; // disable in case already enabled
|
|
|
issuecommand(ai, &cmd, &rsp);
|