Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 79435
b: refs/heads/master
c: dac10a9
h: refs/heads/master
i:
  79433: 597b64a
  79431: 02e7dff
v: v3
  • Loading branch information
Holger Schurig authored and David S. Miller committed Jan 28, 2008
1 parent d1a6c6f commit 7cb7c9d
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 21 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 4365929d176b47a78d10aca0d1dee2afdfcbe4f2
refs/heads/master: dac10a9f286c75cffa75c7ec8b05d566a6ece95e
23 changes: 17 additions & 6 deletions trunk/drivers/net/wireless/libertas/cmd.c
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,24 @@ int lbs_update_hw_spec(struct lbs_private *priv)
goto out;

priv->fwcapinfo = le32_to_cpu(cmd.fwcapinfo);
memcpy(priv->fwreleasenumber, cmd.fwreleasenumber, 4);

lbs_deb_cmd("GET_HW_SPEC: firmware release %u.%u.%up%u\n",
priv->fwreleasenumber[2], priv->fwreleasenumber[1],
priv->fwreleasenumber[0], priv->fwreleasenumber[3]);
lbs_deb_cmd("GET_HW_SPEC: MAC addr %s\n",
print_mac(mac, cmd.permanentaddr));
/* The firmware release is in an interesting format: the patch
* level is in the most significant nibble ... so fix that: */
priv->fwrelease = le32_to_cpu(cmd.fwrelease);
priv->fwrelease = (priv->fwrelease << 8) |
(priv->fwrelease >> 24 & 0xff);

/* Some firmware capabilities:
* CF card firmware 5.0.16p0: cap 0x00000303
* USB dongle firmware 5.110.17p2: cap 0x00000303
*/
printk("libertas: %s, fw %u.%u.%up%u, cap 0x%08x\n",
print_mac(mac, cmd.permanentaddr),
priv->fwrelease >> 24 & 0xff,
priv->fwrelease >> 16 & 0xff,
priv->fwrelease >> 8 & 0xff,
priv->fwrelease & 0xff,
priv->fwcapinfo);
lbs_deb_cmd("GET_HW_SPEC: hardware interface 0x%x, hardware spec 0x%04x\n",
cmd.hwifversion, cmd.version);

Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/net/wireless/libertas/dev.h
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ struct lbs_private {

/** Wlan adapter data structure*/
/** STATUS variables */
u8 fwreleasenumber[4];
u32 fwrelease;
u32 fwcapinfo;
/* protected with big lock */

Expand Down
4 changes: 2 additions & 2 deletions trunk/drivers/net/wireless/libertas/hostcmd.h
Original file line number Diff line number Diff line change
Expand Up @@ -136,8 +136,8 @@ struct cmd_ds_get_hw_spec {
/* Number of antenna used */
__le16 nr_antenna;

/* FW release number, example 1,2,3,4 = 3.2.1p4 */
u8 fwreleasenumber[4];
/* FW release number, example 0x01030304 = 2.3.4p1 */
__le32 fwrelease;

/* Base Address of TxPD queue */
__le32 wcb_base;
Expand Down
16 changes: 5 additions & 11 deletions trunk/drivers/net/wireless/libertas/wext.c
Original file line number Diff line number Diff line change
Expand Up @@ -2071,17 +2071,11 @@ void lbs_get_fwversion(struct lbs_private *priv, char *fwversion, int maxlen)

mutex_lock(&priv->lock);

if (priv->fwreleasenumber[3] == 0)
sprintf(fwver, "%u.%u.%u",
priv->fwreleasenumber[2],
priv->fwreleasenumber[1],
priv->fwreleasenumber[0]);
else
sprintf(fwver, "%u.%u.%u.p%u",
priv->fwreleasenumber[2],
priv->fwreleasenumber[1],
priv->fwreleasenumber[0],
priv->fwreleasenumber[3]);
sprintf(fwver, "%u.%u.%u.p%u",
priv->fwrelease >> 24 & 0xff,
priv->fwrelease >> 16 & 0xff,
priv->fwrelease >> 8 & 0xff,
priv->fwrelease & 0xff);

mutex_unlock(&priv->lock);
snprintf(fwversion, maxlen, fwver);
Expand Down

0 comments on commit 7cb7c9d

Please sign in to comment.