[rt2x00-users] [PATCH 1/2] rt2800usb:fix efuse detection

Sergei Shtylyov sergei.shtylyov at cogentembedded.com
Mon Jun 2 05:06:11 AEST 2014


Hello.

On 06/01/2014 09:52 PM, Michael Braun wrote:

> The device 057c:8501 (AVM Fritz! WLAN v2 rev. B) currently does not
> load. One thing observed is that the vendors driver detects EFUSE mode
> for this device, but rt2800usb does not. This is due to rt2800usb
> lacking a check for the firmware mode present in the vendors driver,
> that this patch adopts for rt2800usb.

> With this patch applied, the 'RF chipset' detection does no longer fail.

> Signed-off-by: Michael Braun <michael-dev at fami-braun.de>
> ---
>   drivers/net/wireless/rt2x00/rt2800usb.c |   16 +++++++++++++++-
>   1 file changed, 15 insertions(+), 1 deletion(-)

> diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c
> index a49c3d7..b601422 100644
> --- a/drivers/net/wireless/rt2x00/rt2800usb.c
> +++ b/drivers/net/wireless/rt2x00/rt2800usb.c
> @@ -735,11 +735,25 @@ static void rt2800usb_fill_rxdone(struct queue_entry *entry,
>   /*
>    * Device probe functions.
>    */
> +static int rt2800usb_efuse_detect(struct rt2x00_dev *rt2x00dev)
> +{
> +	__le32 fwMode;
> +
> +	rt2x00usb_vendor_request(rt2x00dev, USB_DEVICE_MODE,
> +				 USB_VENDOR_REQUEST_IN, 0, 0x11, &fwMode,
> +				 sizeof(fwMode), REGISTER_TIMEOUT_FIRMWARE);
> +
> +	if ((fwMode & 0x00000003) == 2)

    Operating directly on '__le32'? That doesn't look right.

> +		return 1;
> +
> +	return rt2800_efuse_detect(rt2x00dev);
> +}
> +

WBR, Sergei




More information about the users mailing list