Commit 3ef5a262 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

Staging: rtl8192e: fix for stack bug

This should be a fix for the lockup bug when attaching to an access
point.

Patch came from a diff from RealTek.  Hopefully it resolves the issue.
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 54fb0579
...@@ -530,22 +530,12 @@ int ieee80211_wx_get_name(struct ieee80211_device *ieee, ...@@ -530,22 +530,12 @@ int ieee80211_wx_get_name(struct ieee80211_device *ieee,
union iwreq_data *wrqu, char *extra) union iwreq_data *wrqu, char *extra)
{ {
strcpy(wrqu->name, "802.11"); strcpy(wrqu->name, "802.11");
if(ieee->modulation & IEEE80211_CCK_MODULATION){ if(ieee->modulation & IEEE80211_CCK_MODULATION)
strcat(wrqu->name, "b"); strcat(wrqu->name, "b");
if(ieee->modulation & IEEE80211_OFDM_MODULATION) if(ieee->modulation & IEEE80211_OFDM_MODULATION)
strcat(wrqu->name, "/g");
}else if(ieee->modulation & IEEE80211_OFDM_MODULATION)
strcat(wrqu->name, "g"); strcat(wrqu->name, "g");
if (ieee->mode & (IEEE_N_24G | IEEE_N_5G)) if (ieee->mode & (IEEE_N_24G | IEEE_N_5G))
strcat(wrqu->name, "/n"); strcat(wrqu->name, "n");
if((ieee->state == IEEE80211_LINKED) ||
(ieee->state == IEEE80211_LINKED_SCANNING))
strcat(wrqu->name," linked");
else if(ieee->state != IEEE80211_NOLINK)
strcat(wrqu->name," link..");
return 0; return 0;
} }
......
...@@ -843,7 +843,7 @@ int ieee80211_wx_get_encode_ext(struct ieee80211_device *ieee, ...@@ -843,7 +843,7 @@ int ieee80211_wx_get_encode_ext(struct ieee80211_device *ieee,
} else } else
idx = ieee->tx_keyidx; idx = ieee->tx_keyidx;
if (!ext->ext_flags & IW_ENCODE_EXT_GROUP_KEY && if (!(ext->ext_flags & IW_ENCODE_EXT_GROUP_KEY) &&
ext->alg != IW_ENCODE_ALG_WEP) ext->alg != IW_ENCODE_ALG_WEP)
if (idx != 0 || ieee->iw_mode != IW_MODE_INFRA) if (idx != 0 || ieee->iw_mode != IW_MODE_INFRA)
return -EINVAL; return -EINVAL;
......
...@@ -34,7 +34,9 @@ int rtl8192E_suspend (struct pci_dev *pdev, pm_message_t state) ...@@ -34,7 +34,9 @@ int rtl8192E_suspend (struct pci_dev *pdev, pm_message_t state)
if (!netif_running(dev)) if (!netif_running(dev))
goto out_pci_suspend; goto out_pci_suspend;
dev->stop(dev); if (dev->netdev_ops->ndo_stop)
dev->netdev_ops->ndo_stop(dev);
// dev->stop(dev);
#if 0 #if 0
netif_carrier_off(dev); netif_carrier_off(dev);
...@@ -150,7 +152,10 @@ int rtl8192E_resume (struct pci_dev *pdev) ...@@ -150,7 +152,10 @@ int rtl8192E_resume (struct pci_dev *pdev)
netif_device_attach(dev); netif_device_attach(dev);
dev->open(dev); if (dev->netdev_ops->ndo_open)
dev->netdev_ops->ndo_open(dev);
// dev->open(dev);
out: out:
RT_TRACE(COMP_POWER, "<================r8192E resume call.\n"); RT_TRACE(COMP_POWER, "<================r8192E resume call.\n");
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment