[PATCH] libertas: don't byte-swap firmware version number. It's a byte array.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
David Woodhouse
2007-05-25 23:40:21 -04:00
committed by John W. Linville
parent 86760088a7
commit e5b3d472ad
4 changed files with 17 additions and 15 deletions

View File

@ -2297,22 +2297,23 @@ static int wlan_set_wap(struct net_device *dev, struct iw_request_info *info,
void libertas_get_fwversion(wlan_adapter * adapter, char *fwversion, int maxlen)
{
union {
u32 l;
u8 c[4];
} ver;
char fwver[32];
mutex_lock(&adapter->lock);
ver.l = adapter->fwreleasenumber;
mutex_unlock(&adapter->lock);
if (ver.c[3] == 0)
sprintf(fwver, "%u.%u.%u", ver.c[2], ver.c[1], ver.c[0]);
if (adapter->fwreleasenumber[3] == 0)
sprintf(fwver, "%u.%u.%u",
adapter->fwreleasenumber[2],
adapter->fwreleasenumber[1],
adapter->fwreleasenumber[0]);
else
sprintf(fwver, "%u.%u.%u.p%u",
ver.c[2], ver.c[1], ver.c[0], ver.c[3]);
adapter->fwreleasenumber[2],
adapter->fwreleasenumber[1],
adapter->fwreleasenumber[0],
adapter->fwreleasenumber[3]);
mutex_unlock(&adapter->lock);
snprintf(fwversion, maxlen, fwver);
}