[alsa-devel] [PATCH 1/3] ALSA: asihpi: relax firmware version check
Takashi Iwai
tiwai at suse.de
Thu Dec 18 09:02:41 CET 2014
At Thu, 18 Dec 2014 17:57:13 +1300,
eliot at blennerhassett.gen.nz wrote:
>
> From: Eliot Blennerhassett <eliot at blennerhassett.gen.nz>
>
> Some products firmware is no longer being updated
> e.g. dsp5000, dsp8700 but it should continue to work
> with updated HPI versions.
> Avoid regression by allowing this firmware to be loaded as
> long as major version is the same.
> Warn about mismatching versions, as matching versions are
> preferred.
>
> Signed-off-by: Eliot Blennerhassett <eliot at blennerhassett.gen.nz>
Applied all three patches.
thanks,
Takashi
> ---
> sound/pci/asihpi/hpidspcd.c | 26 ++++++++++++--------------
> 1 file changed, 12 insertions(+), 14 deletions(-)
>
> diff --git a/sound/pci/asihpi/hpidspcd.c b/sound/pci/asihpi/hpidspcd.c
> index ac91637..3603c24 100644
> --- a/sound/pci/asihpi/hpidspcd.c
> +++ b/sound/pci/asihpi/hpidspcd.c
> @@ -1,8 +1,9 @@
> -/***********************************************************************/
> -/**
> +/***********************************************************************
>
> AudioScience HPI driver
> - Copyright (C) 1997-2011 AudioScience Inc. <support at audioscience.com>
> + Functions for reading DSP code using hotplug firmware loader
> +
> + Copyright (C) 1997-2014 AudioScience Inc. <support at audioscience.com>
>
> This program is free software; you can redistribute it and/or modify
> it under the terms of version 2 of the GNU General Public License as
> @@ -17,11 +18,7 @@
> along with this program; if not, write to the Free Software
> Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
>
> -\file
> -Functions for reading DSP code using
> -hotplug firmware loader from individual dsp code files
> -*/
> -/***********************************************************************/
> +***********************************************************************/
> #define SOURCEFILE_NAME "hpidspcd.c"
> #include "hpidspcd.h"
> #include "hpidebug.h"
> @@ -68,17 +65,18 @@ short hpi_dsp_code_open(u32 adapter, void *os_data, struct dsp_code *dsp_code,
> goto error2;
> }
>
> - if ((header.version >> 9) != (HPI_VER >> 9)) {
> - /* Consider even and subsequent odd minor versions to be compatible */
> - dev_err(&dev->dev, "Incompatible firmware version DSP image %X != Driver %X\n",
> + if (HPI_VER_MAJOR(header.version) != HPI_VER_MAJOR(HPI_VER)) {
> + /* Major version change probably means Host-DSP protocol change */
> + dev_err(&dev->dev,
> + "Incompatible firmware version DSP image %X != Driver %X\n",
> header.version, HPI_VER);
> goto error2;
> }
>
> if (header.version != HPI_VER) {
> - dev_info(&dev->dev,
> - "Firmware: release version mismatch DSP image %X != Driver %X\n",
> - header.version, HPI_VER);
> + dev_warn(&dev->dev,
> + "Firmware version mismatch: DSP image %X != Driver %X\n",
> + header.version, HPI_VER);
> }
>
> HPI_DEBUG_LOG(DEBUG, "dsp code %s opened\n", fw_name);
> --
> 1.9.1
>
More information about the Alsa-devel
mailing list