Search Linux Wireless

Re: [RFT 2/2] ar9170: add AVM FRITZ devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Luis,

> This adds:
> 
> USB 0x057C:0x8401       AVM FRITZ!WLAN USB Stick N
> USB 0x057C:0x8402       AVM FRITZ!WLAN USB Stick N 2.4
> 
> These devices require the 1-stage firmware, if not present we
> don't continue.
> 
> Cc: Peter Grabienski <Peter.Grabienski@xxxxxxxxxxx>
> Cc: Stephen Chen <Stephen.Chen@xxxxxxxxxxx>
> Cc: Michael Fortin <Michael.Fortin@xxxxxxxxxxx>
> Cc: Johnny Cheng <Johnny.Cheng@xxxxxxxxxxx>
> Cc: Yuan-Gu Wei <Yuan-Gu.Wei@xxxxxxxxxxx>
> Cc: Joerg Albert <jal2@xxxxxx>
> Signed-off-by: Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx>
> ---
>  drivers/net/wireless/ath/ar9170/usb.c |   28 ++++++++++++++++++++++++++++
>  drivers/net/wireless/ath/ar9170/usb.h |    2 ++
>  2 files changed, 30 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/net/wireless/ath/ar9170/usb.c b/drivers/net/wireless/ath/ar9170/usb.c
> index 3c97c09..45b5291 100644
> --- a/drivers/net/wireless/ath/ar9170/usb.c
> +++ b/drivers/net/wireless/ath/ar9170/usb.c
> @@ -82,6 +82,10 @@ static struct usb_device_id ar9170_usb_ids[] = {
>  	{ USB_DEVICE(0x2019, 0x5304) },
>  	/* IO-Data WNGDNUS2 */
>  	{ USB_DEVICE(0x04bb, 0x093f) },
> +	/* AVM FRITZ!WLAN USB Stick N */
> +	{ USB_DEVICE(0x057C, 0x8401) },
> +	/* AVM FRITZ!WLAN USB Stick N 2.4 */
> +	{ USB_DEVICE(0x057C, 0x8402) },
>  
>  	/* terminate */
>  	{}
> @@ -512,6 +516,12 @@ static int ar9170_usb_request_firmware(struct ar9170_usb *aru)
>  		return 0;
>  	}
>  
> +	if (aru->req_one_stage_fw) {
> +		dev_err(&aru->udev->dev, "ar9170.fw firmware file "
> +			"not found and is required for this device\n");
> +		return -EINVAL;
> +	}
> +
>  	dev_err(&aru->udev->dev, "ar9170.fw firmware file "
>  		"not found, trying old firmware...\n");
>  
> @@ -668,6 +678,22 @@ err_out:
>  	return err;
>  }
>  
> +static bool ar9170_requires_one_stage(const struct usb_device_id *id)
> +{
> +	/* AVM FRITZ only */
> +	if (id->idVendor != 0x057C)
> +		return false;
> +
> +	switch (id->idProduct) {
> +		case 0x8401: /* AVM FRITZ!WLAN USB Stick N */
> +		case 0x8402: /* AVM FRITZ!WLAN USB Stick N 2.4 */
> +			return true;
> +		default:
> +			return false;
> +	}
> +	return false;
> +}
> +

can't you make this part of use_device_id table? Syncing up with product
ids in two places is not a good idea.

Regards

Marcel


--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux