aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/libertas/if_sdio.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/libertas/if_sdio.c')
-rw-r--r--drivers/net/wireless/libertas/if_sdio.c17
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;
48module_param_named(fw_name, lbs_fw_name, charp, 0644); 48module_param_named(fw_name, lbs_fw_name, charp, 0644);
49 49
50static const struct sdio_device_id if_sdio_ids[] = { 50static 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
55MODULE_DEVICE_TABLE(sdio, if_sdio_ids); 58MODULE_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
78struct if_sdio_packet { 87struct 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
490release: 499release:
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);
494release_fw: 503release_fw:
@@ -624,7 +633,7 @@ static int if_sdio_prog_real(struct if_sdio_card *card)
624 ret = 0; 633 ret = 0;
625 634
626release: 635release:
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);
630release_fw: 639release_fw: