diff options
author | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
---|---|---|
committer | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
commit | ada47b5fe13d89735805b566185f4885f5a3f750 (patch) | |
tree | 644b88f8a71896307d71438e9b3af49126ffb22b /drivers/net/wireless/iwmc3200wifi/sdio.c | |
parent | 43e98717ad40a4ae64545b5ba047c7b86aa44f4f (diff) | |
parent | 3280f21d43ee541f97f8cda5792150d2dbec20d5 (diff) |
Merge branch 'wip-2.6.34' into old-private-masterarchived-private-master
Diffstat (limited to 'drivers/net/wireless/iwmc3200wifi/sdio.c')
-rw-r--r-- | drivers/net/wireless/iwmc3200wifi/sdio.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/net/wireless/iwmc3200wifi/sdio.c b/drivers/net/wireless/iwmc3200wifi/sdio.c index 8b1de84003ca..1eafd6dec3fd 100644 --- a/drivers/net/wireless/iwmc3200wifi/sdio.c +++ b/drivers/net/wireless/iwmc3200wifi/sdio.c | |||
@@ -63,6 +63,7 @@ | |||
63 | */ | 63 | */ |
64 | 64 | ||
65 | #include <linux/kernel.h> | 65 | #include <linux/kernel.h> |
66 | #include <linux/slab.h> | ||
66 | #include <linux/netdevice.h> | 67 | #include <linux/netdevice.h> |
67 | #include <linux/debugfs.h> | 68 | #include <linux/debugfs.h> |
68 | #include <linux/mmc/sdio_ids.h> | 69 | #include <linux/mmc/sdio_ids.h> |
@@ -224,8 +225,6 @@ static int if_sdio_disable(struct iwm_priv *iwm) | |||
224 | struct iwm_sdio_priv *hw = iwm_to_if_sdio(iwm); | 225 | struct iwm_sdio_priv *hw = iwm_to_if_sdio(iwm); |
225 | int ret; | 226 | int ret; |
226 | 227 | ||
227 | iwm_reset(iwm); | ||
228 | |||
229 | sdio_claim_host(hw->func); | 228 | sdio_claim_host(hw->func); |
230 | sdio_writeb(hw->func, 0, IWM_SDIO_INTR_ENABLE_ADDR, &ret); | 229 | sdio_writeb(hw->func, 0, IWM_SDIO_INTR_ENABLE_ADDR, &ret); |
231 | if (ret < 0) | 230 | if (ret < 0) |
@@ -237,6 +236,8 @@ static int if_sdio_disable(struct iwm_priv *iwm) | |||
237 | 236 | ||
238 | iwm_sdio_rx_free(hw); | 237 | iwm_sdio_rx_free(hw); |
239 | 238 | ||
239 | iwm_reset(iwm); | ||
240 | |||
240 | IWM_DBG_SDIO(iwm, INFO, "IWM SDIO disable\n"); | 241 | IWM_DBG_SDIO(iwm, INFO, "IWM SDIO disable\n"); |
241 | 242 | ||
242 | return 0; | 243 | return 0; |
@@ -399,6 +400,9 @@ static struct iwm_if_ops if_sdio_ops = { | |||
399 | .calib_lmac_name = "iwmc3200wifi-calib-sdio.bin", | 400 | .calib_lmac_name = "iwmc3200wifi-calib-sdio.bin", |
400 | .lmac_name = "iwmc3200wifi-lmac-sdio.bin", | 401 | .lmac_name = "iwmc3200wifi-lmac-sdio.bin", |
401 | }; | 402 | }; |
403 | MODULE_FIRMWARE("iwmc3200wifi-umac-sdio.bin"); | ||
404 | MODULE_FIRMWARE("iwmc3200wifi-calib-sdio.bin"); | ||
405 | MODULE_FIRMWARE("iwmc3200wifi-lmac-sdio.bin"); | ||
402 | 406 | ||
403 | static int iwm_sdio_probe(struct sdio_func *func, | 407 | static int iwm_sdio_probe(struct sdio_func *func, |
404 | const struct sdio_device_id *id) | 408 | const struct sdio_device_id *id) |
@@ -493,8 +497,10 @@ static void iwm_sdio_remove(struct sdio_func *func) | |||
493 | } | 497 | } |
494 | 498 | ||
495 | static const struct sdio_device_id iwm_sdio_ids[] = { | 499 | static const struct sdio_device_id iwm_sdio_ids[] = { |
496 | { SDIO_DEVICE(SDIO_VENDOR_ID_INTEL, | 500 | /* Global/AGN SKU */ |
497 | SDIO_DEVICE_ID_INTEL_IWMC3200WIFI) }, | 501 | { SDIO_DEVICE(SDIO_VENDOR_ID_INTEL, 0x1403) }, |
502 | /* BGN SKU */ | ||
503 | { SDIO_DEVICE(SDIO_VENDOR_ID_INTEL, 0x1408) }, | ||
498 | { /* end: all zeroes */ }, | 504 | { /* end: all zeroes */ }, |
499 | }; | 505 | }; |
500 | MODULE_DEVICE_TABLE(sdio, iwm_sdio_ids); | 506 | MODULE_DEVICE_TABLE(sdio, iwm_sdio_ids); |