if_iwm.c (7e565c552a5d3ab1745f5d37c61c51069508f124) | if_iwm.c (589526906c3cbae5f1fa38f1b89d614ffe8b4643) |
---|---|
1/* $OpenBSD: if_iwm.c,v 1.167 2017/04/04 00:40:52 claudio Exp $ */ 2 3/* 4 * Copyright (c) 2014 genua mbh <info@genua.de> 5 * Copyright (c) 2014 Fixup Software Ltd. 6 * 7 * Permission to use, copy, modify, and distribute this software for any 8 * purpose with or without fee is hereby granted, provided that the above --- 2197 unchanged lines hidden (view full) --- 2206 2207 /* If no valid mac address was found - bail out */ 2208 if (iwm_set_hw_address(sc, data, nvm_hw, mac_override)) { 2209 free(data, M_DEVBUF); 2210 return NULL; 2211 } 2212 2213 if (sc->cfg->device_family == IWM_DEVICE_FAMILY_7000) { | 1/* $OpenBSD: if_iwm.c,v 1.167 2017/04/04 00:40:52 claudio Exp $ */ 2 3/* 4 * Copyright (c) 2014 genua mbh <info@genua.de> 5 * Copyright (c) 2014 Fixup Software Ltd. 6 * 7 * Permission to use, copy, modify, and distribute this software for any 8 * purpose with or without fee is hereby granted, provided that the above --- 2197 unchanged lines hidden (view full) --- 2206 2207 /* If no valid mac address was found - bail out */ 2208 if (iwm_set_hw_address(sc, data, nvm_hw, mac_override)) { 2209 free(data, M_DEVBUF); 2210 return NULL; 2211 } 2212 2213 if (sc->cfg->device_family == IWM_DEVICE_FAMILY_7000) { |
2214 memcpy(data->nvm_ch_flags, &nvm_sw[IWM_NVM_CHANNELS], | 2214 memcpy(data->nvm_ch_flags, sc->cfg->nvm_type == IWM_NVM_SDP ? 2215 ®ulatory[0] : &nvm_sw[IWM_NVM_CHANNELS], |
2215 IWM_NUM_CHANNELS * sizeof(uint16_t)); 2216 } else { 2217 memcpy(data->nvm_ch_flags, ®ulatory[IWM_NVM_CHANNELS_8000], 2218 IWM_NUM_CHANNELS_8000 * sizeof(uint16_t)); 2219 } 2220 2221 return data; 2222} --- 43 unchanged lines hidden (view full) --- 2266 } else { 2267 panic("unknown device family %d\n", sc->cfg->device_family); 2268 } 2269 2270 hw = (const uint16_t *) sections[sc->cfg->nvm_hw_section_num].data; 2271 sw = (const uint16_t *)sections[IWM_NVM_SECTION_TYPE_SW].data; 2272 calib = (const uint16_t *) 2273 sections[IWM_NVM_SECTION_TYPE_CALIBRATION].data; | 2216 IWM_NUM_CHANNELS * sizeof(uint16_t)); 2217 } else { 2218 memcpy(data->nvm_ch_flags, ®ulatory[IWM_NVM_CHANNELS_8000], 2219 IWM_NUM_CHANNELS_8000 * sizeof(uint16_t)); 2220 } 2221 2222 return data; 2223} --- 43 unchanged lines hidden (view full) --- 2267 } else { 2268 panic("unknown device family %d\n", sc->cfg->device_family); 2269 } 2270 2271 hw = (const uint16_t *) sections[sc->cfg->nvm_hw_section_num].data; 2272 sw = (const uint16_t *)sections[IWM_NVM_SECTION_TYPE_SW].data; 2273 calib = (const uint16_t *) 2274 sections[IWM_NVM_SECTION_TYPE_CALIBRATION].data; |
2274 regulatory = (const uint16_t *) 2275 sections[IWM_NVM_SECTION_TYPE_REGULATORY].data; | 2275 regulatory = sc->cfg->nvm_type == IWM_NVM_SDP ? 2276 (const uint16_t *)sections[IWM_NVM_SECTION_TYPE_REGULATORY_SDP].data : 2277 (const uint16_t *)sections[IWM_NVM_SECTION_TYPE_REGULATORY].data; |
2276 mac_override = (const uint16_t *) 2277 sections[IWM_NVM_SECTION_TYPE_MAC_OVERRIDE].data; 2278 phy_sku = (const uint16_t *)sections[IWM_NVM_SECTION_TYPE_PHY_SKU].data; 2279 2280 return iwm_parse_nvm_data(sc, hw, sw, calib, mac_override, 2281 phy_sku, regulatory); 2282} 2283 --- 4129 unchanged lines hidden --- | 2278 mac_override = (const uint16_t *) 2279 sections[IWM_NVM_SECTION_TYPE_MAC_OVERRIDE].data; 2280 phy_sku = (const uint16_t *)sections[IWM_NVM_SECTION_TYPE_PHY_SKU].data; 2281 2282 return iwm_parse_nvm_data(sc, hw, sw, calib, mac_override, 2283 phy_sku, regulatory); 2284} 2285 --- 4129 unchanged lines hidden --- |