diff options
Diffstat (limited to 'drivers/net/wireless/libertas/if_sdio.c')
-rw-r--r-- | drivers/net/wireless/libertas/if_sdio.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/drivers/net/wireless/libertas/if_sdio.c b/drivers/net/wireless/libertas/if_sdio.c index 76f4c653d641..55864c10f9f1 100644 --- a/drivers/net/wireless/libertas/if_sdio.c +++ b/drivers/net/wireless/libertas/if_sdio.c | |||
@@ -48,8 +48,11 @@ static char *lbs_fw_name = NULL; | |||
48 | module_param_named(fw_name, lbs_fw_name, charp, 0644); | 48 | module_param_named(fw_name, lbs_fw_name, charp, 0644); |
49 | 49 | ||
50 | static const struct sdio_device_id if_sdio_ids[] = { | 50 | static const struct sdio_device_id if_sdio_ids[] = { |
51 | { SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, SDIO_DEVICE_ID_MARVELL_LIBERTAS) }, | 51 | { SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, |
52 | { /* end: all zeroes */ }, | 52 | SDIO_DEVICE_ID_MARVELL_LIBERTAS) }, |
53 | { SDIO_DEVICE(SDIO_VENDOR_ID_MARVELL, | ||
54 | SDIO_DEVICE_ID_MARVELL_8688WLAN) }, | ||
55 | { /* end: all zeroes */ }, | ||
53 | }; | 56 | }; |
54 | 57 | ||
55 | MODULE_DEVICE_TABLE(sdio, if_sdio_ids); | 58 | MODULE_DEVICE_TABLE(sdio, if_sdio_ids); |
@@ -73,6 +76,12 @@ static struct if_sdio_model if_sdio_models[] = { | |||
73 | .helper = "sd8686_helper.bin", | 76 | .helper = "sd8686_helper.bin", |
74 | .firmware = "sd8686.bin", | 77 | .firmware = "sd8686.bin", |
75 | }, | 78 | }, |
79 | { | ||
80 | /* 8688 */ | ||
81 | .model = 0x10, | ||
82 | .helper = "sd8688_helper.bin", | ||
83 | .firmware = "sd8688.bin", | ||
84 | }, | ||
76 | }; | 85 | }; |
77 | 86 | ||
78 | struct if_sdio_packet { | 87 | struct if_sdio_packet { |
@@ -488,7 +497,7 @@ static int if_sdio_prog_helper(struct if_sdio_card *card) | |||
488 | ret = 0; | 497 | ret = 0; |
489 | 498 | ||
490 | release: | 499 | release: |
491 | sdio_set_block_size(card->func, 0); | 500 | sdio_set_block_size(card->func, IF_SDIO_BLOCK_SIZE); |
492 | sdio_release_host(card->func); | 501 | sdio_release_host(card->func); |
493 | kfree(chunk_buffer); | 502 | kfree(chunk_buffer); |
494 | release_fw: | 503 | release_fw: |
@@ -624,7 +633,7 @@ static int if_sdio_prog_real(struct if_sdio_card *card) | |||
624 | ret = 0; | 633 | ret = 0; |
625 | 634 | ||
626 | release: | 635 | release: |
627 | sdio_set_block_size(card->func, 0); | 636 | sdio_set_block_size(card->func, IF_SDIO_BLOCK_SIZE); |
628 | sdio_release_host(card->func); | 637 | sdio_release_host(card->func); |
629 | kfree(chunk_buffer); | 638 | kfree(chunk_buffer); |
630 | release_fw: | 639 | release_fw: |