diff options
-rw-r--r-- | drivers/staging/wlags49_h2/wl_wext.c | 40 |
1 files changed, 9 insertions, 31 deletions
diff --git a/drivers/staging/wlags49_h2/wl_wext.c b/drivers/staging/wlags49_h2/wl_wext.c index 9884320..8ac5e10 100644 --- a/drivers/staging/wlags49_h2/wl_wext.c +++ b/drivers/staging/wlags49_h2/wl_wext.c @@ -3196,42 +3196,20 @@ out: -static int wireless_get_genie(struct net_device *dev, - struct iw_request_info *info, - struct iw_point *data, char *extra) +static int wireless_set_genie(struct net_device *dev, + struct iw_request_info *info, + struct iw_point *data, char *extra) { - struct wl_private *lp = wl_priv(dev); - unsigned long flags; int ret = 0; - ltv_t ltv; - - DBG_FUNC( "wireless_get_genie" ); - DBG_ENTER( DbgInfo ); - - if(lp->portState == WVLAN_PORT_STATE_DISABLED) { - ret = -EBUSY; - goto out; - } - - wl_lock( lp, &flags ); - wl_act_int_off( lp ); - - memset(<v, 0, sizeof(ltv)); - ltv.len = 2; - ltv.typ = CFG_SET_WPA_AUTH_KEY_MGMT_SUITE; - lp->AuthKeyMgmtSuite = ltv.u.u16[0] = 4; - ltv.u.u16[0] = CNV_INT_TO_LITTLE(ltv.u.u16[0]); - - ret = hcf_put_info(&(lp->hcfCtx), (LTVP)<v); - - wl_act_int_on( lp ); + DBG_ENTER(DbgInfo); - wl_unlock(lp, &flags); + /* We can't write this to the card, but apparently this + * operation needs to succeed */ + ret = 0; -out: - DBG_LEAVE( DbgInfo ); + DBG_LEAVE(DbgInfo); return ret; } /*============================================================================*/ @@ -3970,7 +3948,7 @@ static const iw_handler wl_handler[] = IW_HANDLER(SIOCGIWENCODE, (iw_handler) wireless_get_encode), IW_HANDLER(SIOCSIWPOWER, (iw_handler) wireless_set_power), IW_HANDLER(SIOCGIWPOWER, (iw_handler) wireless_get_power), - IW_HANDLER(SIOCSIWGENIE, (iw_handler) wireless_get_genie), + IW_HANDLER(SIOCSIWGENIE, (iw_handler) wireless_set_genie), IW_HANDLER(SIOCSIWAUTH, (iw_handler) wireless_set_auth), IW_HANDLER(SIOCSIWENCODEEXT, (iw_handler) wireless_set_encodeext), }; |