* [PATCH] libertas: let get nick return what set nick has set
@ 2007-10-09 13:04 Holger Schurig
2007-10-09 14:16 ` Dan Williams
0 siblings, 1 reply; 2+ messages in thread
From: Holger Schurig @ 2007-10-09 13:04 UTC (permalink / raw)
To: linux-wireless, libertas-dev, Dan Williams
Make the get-nickname wireless extension actually work. Before
this patch, I could do "iwconfig eth1 nick BLAH" but "iwconfig
eth1" would have still showed "MRVL-USB8388" to me. Hey, and that
was wrong anyway, I'm on a CF card, not on USB :-)
Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Index: libertas-2.6/drivers/net/wireless/libertas/wext.c
===================================================================
--- libertas-2.6.orig/drivers/net/wireless/libertas/wext.c 2007-10-09 15:50:49.000000000 +0200
+++ libertas-2.6/drivers/net/wireless/libertas/wext.c 2007-10-09 16:04:26.000000000 +0200
@@ -251,37 +251,16 @@ static int wlan_set_nick(struct net_devi
static int wlan_get_nick(struct net_device *dev, struct iw_request_info *info,
struct iw_point *dwrq, char *extra)
{
- const char *cp;
- char comm[6] = { "COMM-" };
- char mrvl[6] = { "MRVL-" };
- int cnt;
+ wlan_private *priv = dev->priv;
+ wlan_adapter *adapter = priv->adapter;
lbs_deb_enter(LBS_DEB_WEXT);
- /*
- * Nick Name is not used internally in this mode,
- * therefore return something useful instead. Jean II
- */
-
- strcpy(extra, mrvl);
-
- cp = strstr(libertas_driver_version, comm);
- if (cp == libertas_driver_version) //skip leading "COMM-"
- cp = libertas_driver_version + strlen(comm);
- else
- cp = libertas_driver_version;
-
- cnt = strlen(mrvl);
- extra += cnt;
- while (cnt < 16 && (*cp != '-')) {
- *extra++ = toupper(*cp++);
- cnt++;
- }
+ dwrq->length = strlen(adapter->nodename);
+ memcpy(extra, adapter->nodename, dwrq->length);
+ extra[dwrq->length] = '\0';
- /*
- * Push it out !
- */
- dwrq->length = cnt;
+ dwrq->flags = 1; /* active */
lbs_deb_leave(LBS_DEB_WEXT);
return 0;
@@ -311,6 +290,7 @@ static int mesh_get_nick(struct net_devi
lbs_deb_leave(LBS_DEB_WEXT);
return 0;
}
+
static int wlan_set_rts(struct net_device *dev, struct iw_request_info *info,
struct iw_param *vwrq, char *extra)
{
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] libertas: let get nick return what set nick has set
2007-10-09 13:04 [PATCH] libertas: let get nick return what set nick has set Holger Schurig
@ 2007-10-09 14:16 ` Dan Williams
0 siblings, 0 replies; 2+ messages in thread
From: Dan Williams @ 2007-10-09 14:16 UTC (permalink / raw)
To: Holger Schurig; +Cc: linux-wireless, libertas-dev
On Tue, 2007-10-09 at 15:04 +0200, Holger Schurig wrote:
> Make the get-nickname wireless extension actually work. Before
> this patch, I could do "iwconfig eth1 nick BLAH" but "iwconfig
> eth1" would have still showed "MRVL-USB8388" to me. Hey, and that
> was wrong anyway, I'm on a CF card, not on USB :-)
>
> Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
>
> Index: libertas-2.6/drivers/net/wireless/libertas/wext.c
> ===================================================================
> --- libertas-2.6.orig/drivers/net/wireless/libertas/wext.c 2007-10-09 15:50:49.000000000 +0200
> +++ libertas-2.6/drivers/net/wireless/libertas/wext.c 2007-10-09 16:04:26.000000000 +0200
> @@ -251,37 +251,16 @@ static int wlan_set_nick(struct net_devi
> static int wlan_get_nick(struct net_device *dev, struct iw_request_info *info,
> struct iw_point *dwrq, char *extra)
> {
> - const char *cp;
> - char comm[6] = { "COMM-" };
> - char mrvl[6] = { "MRVL-" };
> - int cnt;
> + wlan_private *priv = dev->priv;
> + wlan_adapter *adapter = priv->adapter;
>
> lbs_deb_enter(LBS_DEB_WEXT);
>
> - /*
> - * Nick Name is not used internally in this mode,
> - * therefore return something useful instead. Jean II
> - */
> -
> - strcpy(extra, mrvl);
> -
> - cp = strstr(libertas_driver_version, comm);
> - if (cp == libertas_driver_version) //skip leading "COMM-"
> - cp = libertas_driver_version + strlen(comm);
> - else
> - cp = libertas_driver_version;
> -
> - cnt = strlen(mrvl);
> - extra += cnt;
> - while (cnt < 16 && (*cp != '-')) {
> - *extra++ = toupper(*cp++);
> - cnt++;
> - }
> + dwrq->length = strlen(adapter->nodename);
> + memcpy(extra, adapter->nodename, dwrq->length);
> + extra[dwrq->length] = '\0';
>
> - /*
> - * Push it out !
> - */
> - dwrq->length = cnt;
> + dwrq->flags = 1; /* active */
>
> lbs_deb_leave(LBS_DEB_WEXT);
> return 0;
> @@ -311,6 +290,7 @@ static int mesh_get_nick(struct net_devi
> lbs_deb_leave(LBS_DEB_WEXT);
> return 0;
> }
> +
> static int wlan_set_rts(struct net_device *dev, struct iw_request_info *info,
> struct iw_param *vwrq, char *extra)
> {
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2007-10-09 14:16 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-09 13:04 [PATCH] libertas: let get nick return what set nick has set Holger Schurig
2007-10-09 14:16 ` Dan Williams
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).