aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/libertas
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/libertas')
-rw-r--r--drivers/net/wireless/libertas/if_cs.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/wireless/libertas/if_cs.c b/drivers/net/wireless/libertas/if_cs.c
index 6870276259e9..9d6ca7fe9539 100644
--- a/drivers/net/wireless/libertas/if_cs.c
+++ b/drivers/net/wireless/libertas/if_cs.c
@@ -268,6 +268,12 @@ static int if_cs_poll_while_fw_download(struct if_cs_card *card, uint addr, u8 r
268#define IF_CS_SCRATCH_BOOT_OK 0x00 268#define IF_CS_SCRATCH_BOOT_OK 0x00
269#define IF_CS_SCRATCH_HELPER_OK 0x5a 269#define IF_CS_SCRATCH_HELPER_OK 0x5a
270 270
271/*
272 * Used to detect ancient chips:
273 */
274#define IF_CS_PRODUCT_ID 0x0000001C
275#define IF_CS_CF8385_B1_REV 0x12
276
271 277
272/********************************************************************/ 278/********************************************************************/
273/* I/O and interrupt handling */ 279/* I/O and interrupt handling */
@@ -861,6 +867,12 @@ static int if_cs_probe(struct pcmcia_device *p_dev)
861 p_dev->irq.AssignedIRQ, p_dev->io.BasePort1, 867 p_dev->irq.AssignedIRQ, p_dev->io.BasePort1,
862 p_dev->io.BasePort1 + p_dev->io.NumPorts1 - 1); 868 p_dev->io.BasePort1 + p_dev->io.NumPorts1 - 1);
863 869
870 /* Check if we have a current silicon */
871 if (if_cs_read8(card, IF_CS_PRODUCT_ID) < IF_CS_CF8385_B1_REV) {
872 lbs_pr_err("old chips like 8385 rev B1 aren't supported\n");
873 ret = -ENODEV;
874 goto out2;
875 }
864 876
865 /* Load the firmware early, before calling into libertas.ko */ 877 /* Load the firmware early, before calling into libertas.ko */
866 ret = if_cs_prog_helper(card); 878 ret = if_cs_prog_helper(card);