When wlan_wext_write is enabled, auto-transition the devices to

ifstate_enable.
This commit is contained in:
pizza 2008-01-31 14:34:36 +00:00
parent 404c86ad5a
commit c22bec092f
7 changed files with 35 additions and 4 deletions

View File

@ -214,3 +214,5 @@ EXPORT_SYMBOL(p80211skb_free);
EXPORT_SYMBOL(p80211skb_rxmeta_attach);
EXPORT_SYMBOL(p80211wext_event_associated);
EXPORT_SYMBOL(wlan_wext_write);

View File

@ -938,7 +938,11 @@ int wlan_setup(wlandevice_t *wlandev)
dev->wireless_handlers = &p80211wext_handler_def;
#endif
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) )
dev->nd_net = &init_net;
#endif
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,3,38) )
dev->tbusy = 1;
dev->start = 0;
@ -1062,9 +1066,23 @@ int register_wlandev(wlandevice_t *wlandev)
}
#endif
if (wlan_wext_write) {
/*
// fake out a call to ifstate_enable!
p80211msg_lnxreq_ifstate_t msg;
memset(&msg, 0, sizeof(msg));
msg.msgcode = DIDmsg_lnxreq_ifstate;
msg.msglen = sizeof(msg);
msg.ifstate.status = P80211ENUM_msgitem_status_data_ok;
msg.ifstate.data = P80211ENUM_ifstate_enable;
p80211req_dorequest(wlandev, &msg);
*/
} else {
#ifdef CONFIG_HOTPLUG
p80211_run_sbin_hotplug(wlandev, WLAN_HOTPLUG_REGISTER);
p80211_run_sbin_hotplug(wlandev, WLAN_HOTPLUG_REGISTER);
#endif
}
DBFEXIT;
return 0;

View File

@ -577,6 +577,9 @@ static int prism2_cs_probe(struct pcmcia_device *pdev)
/* And now we're done! */
wlandev->msdstate = WLAN_MSD_HWPRESENT;
if (wlan_wext_write)
prism2sta_ifstate(wlandev, P80211ENUM_ifstate_enable);
goto done;
cs_failed:

View File

@ -167,6 +167,9 @@ prism2sta_probe_pci(
wlandev->msdstate = WLAN_MSD_HWPRESENT;
if (wlan_wext_write)
prism2sta_ifstate(wlandev, P80211ENUM_ifstate_enable);
result = 0;
goto done;

View File

@ -276,8 +276,10 @@ prism2sta_probe_plx(
wlandev->msdstate = WLAN_MSD_HWPRESENT;
result = 0;
if (wlan_wext_write)
prism2sta_ifstate(wlandev, P80211ENUM_ifstate_enable);
result = 0;
goto done;
failed:

View File

@ -167,6 +167,9 @@ static int prism2sta_probe_usb(
wlandev->msdstate = WLAN_MSD_HWPRESENT;
if (wlan_wext_write)
prism2sta_ifstate(wlandev, P80211ENUM_ifstate_enable);
goto done;
failed:

View File

@ -2279,8 +2279,8 @@ static int prism2sta_resume_pci (struct pci_dev *pdev)
wlandev = (wlandevice_t *) pci_get_drvdata(pdev);
if (wlandev) {
prism2sta_ifstate(wlandev, P80211ENUM_ifstate_disable);
p80211_resume(wlandev);
prism2sta_ifstate(wlandev, P80211ENUM_ifstate_enable);
}
return 0;