diff options
Diffstat (limited to 'drivers/net/wireless/iwmc3200wifi/sdio.c')
-rw-r--r-- | drivers/net/wireless/iwmc3200wifi/sdio.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/net/wireless/iwmc3200wifi/sdio.c b/drivers/net/wireless/iwmc3200wifi/sdio.c index 8b1de84003c..a7ec7eac913 100644 --- a/drivers/net/wireless/iwmc3200wifi/sdio.c +++ b/drivers/net/wireless/iwmc3200wifi/sdio.c | |||
@@ -224,8 +224,6 @@ static int if_sdio_disable(struct iwm_priv *iwm) | |||
224 | struct iwm_sdio_priv *hw = iwm_to_if_sdio(iwm); | 224 | struct iwm_sdio_priv *hw = iwm_to_if_sdio(iwm); |
225 | int ret; | 225 | int ret; |
226 | 226 | ||
227 | iwm_reset(iwm); | ||
228 | |||
229 | sdio_claim_host(hw->func); | 227 | sdio_claim_host(hw->func); |
230 | sdio_writeb(hw->func, 0, IWM_SDIO_INTR_ENABLE_ADDR, &ret); | 228 | sdio_writeb(hw->func, 0, IWM_SDIO_INTR_ENABLE_ADDR, &ret); |
231 | if (ret < 0) | 229 | if (ret < 0) |
@@ -237,6 +235,8 @@ static int if_sdio_disable(struct iwm_priv *iwm) | |||
237 | 235 | ||
238 | iwm_sdio_rx_free(hw); | 236 | iwm_sdio_rx_free(hw); |
239 | 237 | ||
238 | iwm_reset(iwm); | ||
239 | |||
240 | IWM_DBG_SDIO(iwm, INFO, "IWM SDIO disable\n"); | 240 | IWM_DBG_SDIO(iwm, INFO, "IWM SDIO disable\n"); |
241 | 241 | ||
242 | return 0; | 242 | return 0; |
@@ -399,6 +399,9 @@ static struct iwm_if_ops if_sdio_ops = { | |||
399 | .calib_lmac_name = "iwmc3200wifi-calib-sdio.bin", | 399 | .calib_lmac_name = "iwmc3200wifi-calib-sdio.bin", |
400 | .lmac_name = "iwmc3200wifi-lmac-sdio.bin", | 400 | .lmac_name = "iwmc3200wifi-lmac-sdio.bin", |
401 | }; | 401 | }; |
402 | MODULE_FIRMWARE("iwmc3200wifi-umac-sdio.bin"); | ||
403 | MODULE_FIRMWARE("iwmc3200wifi-calib-sdio.bin"); | ||
404 | MODULE_FIRMWARE("iwmc3200wifi-lmac-sdio.bin"); | ||
402 | 405 | ||
403 | static int iwm_sdio_probe(struct sdio_func *func, | 406 | static int iwm_sdio_probe(struct sdio_func *func, |
404 | const struct sdio_device_id *id) | 407 | const struct sdio_device_id *id) |
@@ -493,8 +496,10 @@ static void iwm_sdio_remove(struct sdio_func *func) | |||
493 | } | 496 | } |
494 | 497 | ||
495 | static const struct sdio_device_id iwm_sdio_ids[] = { | 498 | static const struct sdio_device_id iwm_sdio_ids[] = { |
496 | { SDIO_DEVICE(SDIO_VENDOR_ID_INTEL, | 499 | /* Global/AGN SKU */ |
497 | SDIO_DEVICE_ID_INTEL_IWMC3200WIFI) }, | 500 | { SDIO_DEVICE(SDIO_VENDOR_ID_INTEL, 0x1403) }, |
501 | /* BGN SKU */ | ||
502 | { SDIO_DEVICE(SDIO_VENDOR_ID_INTEL, 0x1408) }, | ||
498 | { /* end: all zeroes */ }, | 503 | { /* end: all zeroes */ }, |
499 | }; | 504 | }; |
500 | MODULE_DEVICE_TABLE(sdio, iwm_sdio_ids); | 505 | MODULE_DEVICE_TABLE(sdio, iwm_sdio_ids); |