[PATCH 3/4] libertas: check for old, unsupported hardware

Dan Williams dcbw at redhat.com
Thu Jun 5 07:46:59 EDT 2008


On Thu, 2008-06-05 at 13:08 +0200, Holger Schurig wrote:
> Signed-off-by: Holger Schurig <hs4233 at mail.mn-solutions.de>

Looks OK to me; how old are the B1 and earlier chips?  Do we just not
have any samples to work with?

Acked-by: Dan Williams <dcbw at redhat.com>

> --- linux.orig/drivers/net/wireless/libertas/if_cs.c
> +++ linux/drivers/net/wireless/libertas/if_cs.c
> @@ -268,6 +268,12 @@
>  #define IF_CS_SCRATCH_BOOT_OK		0x00
>  #define IF_CS_SCRATCH_HELPER_OK		0x5a
>  
> +/*
> + * Used to detect ancient chips:
> + */
> +#define IF_CS_PRODUCT_ID		0x0000001C
> +#define IF_CS_CF8385_B1_REV		0x12
> +
>  
>  /********************************************************************/
>  /* I/O and interrupt handling                                       */
> @@ -864,6 +871,12 @@
>  	       p_dev->irq.AssignedIRQ, p_dev->io.BasePort1,
>  	       p_dev->io.BasePort1 + p_dev->io.NumPorts1 - 1);
>  
> +	/* Check if we have a current silicon */
> +	if (if_cs_read8(card, IF_CS_PRODUCT_ID) < IF_CS_CF8385_B1_REV) {
> +		lbs_pr_err("old chips like 8385 rev B1 aren't supported\n");
> +		ret = -ENODEV;
> +		goto out2;
> +	}
>  
>  	/* Load the firmware early, before calling into libertas.ko */
>  	ret = if_cs_prog_helper(card);




More information about the libertas-dev mailing list