diff options
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r-- | drivers/net/wireless/libertas/cmdresp.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/wireless/libertas/cmdresp.c b/drivers/net/wireless/libertas/cmdresp.c index 4c36e63ae7b0..d64ad87db459 100644 --- a/drivers/net/wireless/libertas/cmdresp.c +++ b/drivers/net/wireless/libertas/cmdresp.c | |||
@@ -174,7 +174,11 @@ static int wlan_ret_get_hw_spec(wlan_private * priv, | |||
174 | lbs_deb_cmd("GET_HW_SPEC: hardware interface 0x%x, hardware spec 0x%04x\n", | 174 | lbs_deb_cmd("GET_HW_SPEC: hardware interface 0x%x, hardware spec 0x%04x\n", |
175 | hwspec->hwifversion, hwspec->version); | 175 | hwspec->hwifversion, hwspec->version); |
176 | 176 | ||
177 | adapter->regioncode = le16_to_cpu(hwspec->regioncode); | 177 | /* Clamp region code to 8-bit since FW spec indicates that it should |
178 | * only ever be 8-bit, even though the field size is 16-bit. Some firmware | ||
179 | * returns non-zero high 8 bits here. | ||
180 | */ | ||
181 | adapter->regioncode = le16_to_cpu(hwspec->regioncode) & 0xFF; | ||
178 | 182 | ||
179 | for (i = 0; i < MRVDRV_MAX_REGION_CODE; i++) { | 183 | for (i = 0; i < MRVDRV_MAX_REGION_CODE; i++) { |
180 | /* use the region code to search for the index */ | 184 | /* use the region code to search for the index */ |