All of lore.kernel.org
 help / color / mirror / Atom feed
From: Xose Vazquez Perez <xose.vazquez@gmail.com>
To: Julian Calaby <julian.calaby@gmail.com>
Cc: qla2xxx-upstream@qlogic.com,
	linux-scsi <linux-scsi@vger.kernel.org>,
	"James E.J. Bottomley" <JBottomley@odin.com>,
	Linux Firmware Maintainers <linux-firmware@kernel.org>
Subject: Re: [PATCH for-next] scsi: qla2xxx: Hide unavailable firmware
Date: Wed, 7 Oct 2015 17:13:06 +0200	[thread overview]
Message-ID: <56153682.1030801@gmail.com> (raw)
In-Reply-To: <CAGRGNgVSuMD3B4B0Jr-TOT5Kr4NRvJR=0e3tu71OxUzQtrq2sg@mail.gmail.com>

On Fri, May 22, 2015 at 10:00 AM, Julian Calaby <julian.calaby@gmail.com> wrote:

> Some qla2xxx devices have firmware stored in flash on the device,
> however for debugging and triage purposes, Qlogic staff like to
> be able to load known-good versions of these firmwares through
> request_firmware().
>
> These firmware files were never distributed and are unlikely to ever
> be released publically, so to hide these missing firmware files from
> scripts which check such things, (e.g. Debian's initramfs-tools) put
> them behind a new EXPERT Kconfig option.


What is state of this patch ?


> Cc: <qla2xxx-upstream@qlogic.com>
> Cc: James E.J. Bottomley <JBottomley@odin.com>
> Cc: Linux Firmware Maintainers <linux-firmware@kernel.org>
> Signed-off-by: Julian Calaby <julian.calaby@gmail.com>
> ---
>  drivers/scsi/qla2xxx/Kconfig  | 25 +++++++++++++++++++++++++
>  drivers/scsi/qla2xxx/qla_os.c | 40 +++++++++++++++++++++++++++-------------
>  2 files changed, 52 insertions(+), 13 deletions(-)
>
> This is against linux-next @next-20150520 and has been compile
> tested only.
>
> diff --git a/drivers/scsi/qla2xxx/Kconfig b/drivers/scsi/qla2xxx/Kconfig
> index 33f60c9..31e9db4 100644
> --- a/drivers/scsi/qla2xxx/Kconfig
> +++ b/drivers/scsi/qla2xxx/Kconfig
> @@ -31,6 +31,31 @@ config SCSI_QLA_FC
>
>         They are also included in the linux-firmware tree as well.
>
> +       This driver also supports some adapters with firmware stored
> +       onboard in flash.
> +
> +config SCSI_QLA_FC_TRIAGE
> +       bool "Firmware loading support for flash based adapters"
> +       depends on SCSI_QLA_FC
> +       depends on EXPERT
> +       default n
> +       ---help---
> +       Add firmware definitions for adapters with firmware stored
> +       onboard in flash.
> +
> +       This requires the following firmware files which are not
> +       distributed:
> +
> +       ISP               Firmware Filename
> +       ----------        -----------------
> +       81xx              ql8100_fw.bin
> +       82xx              ql8200_fw.bin
> +
> +       This option should only be enabled by Qlogic support staff
> +       as these firmware files are not available publically.
> +
> +       If unsure say N.
> +
>  config TCM_QLA2XXX
>         tristate "TCM_QLA2XXX fabric module for Qlogic 2xxx series target mode HBAs"
>         depends on SCSI_QLA_FC && TARGET_CORE
> diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
> index 7462dd7..da98d83 100644
> --- a/drivers/scsi/qla2xxx/qla_os.c
> +++ b/drivers/scsi/qla2xxx/qla_os.c
> @@ -5284,11 +5284,14 @@ qla2x00_timer(scsi_qla_host_t *vha)
>  #define FW_ISP2322     3
>  #define FW_ISP24XX     4
>  #define FW_ISP25XX     5
> -#define FW_ISP81XX     6
> -#define FW_ISP82XX     7
> -#define FW_ISP2031     8
> -#define FW_ISP8031     9
> -#define FW_ISP27XX     10
> +#define FW_ISP2031     6
> +#define FW_ISP8031     7
> +#define FW_ISP27XX     8
> +
> +#ifdef CONFIG_SCSI_QLA_FC_TRIAGE
> +#define FW_ISP81XX     9
> +#define FW_ISP82XX     10
> +#endif
>
>  #define FW_FILE_ISP21XX        "ql2100_fw.bin"
>  #define FW_FILE_ISP22XX        "ql2200_fw.bin"
> @@ -5296,12 +5299,14 @@ qla2x00_timer(scsi_qla_host_t *vha)
>  #define FW_FILE_ISP2322        "ql2322_fw.bin"
>  #define FW_FILE_ISP24XX        "ql2400_fw.bin"
>  #define FW_FILE_ISP25XX        "ql2500_fw.bin"
> -#define FW_FILE_ISP81XX        "ql8100_fw.bin"
> -#define FW_FILE_ISP82XX        "ql8200_fw.bin"
>  #define FW_FILE_ISP2031        "ql2600_fw.bin"
>  #define FW_FILE_ISP8031        "ql8300_fw.bin"
>  #define FW_FILE_ISP27XX        "ql2700_fw.bin"
>
> +#ifdef CONFIG_SCSI_QLA_FC_TRIAGE
> +#define FW_FILE_ISP81XX        "ql8100_fw.bin"
> +#define FW_FILE_ISP82XX        "ql8200_fw.bin"
> +#endif
>
>  static DEFINE_MUTEX(qla_fw_lock);
>
> @@ -5312,11 +5317,13 @@ static struct fw_blob qla_fw_blobs[FW_BLOBS] = {
>         { .name = FW_FILE_ISP2322, .segs = { 0x800, 0x1c000, 0x1e000, 0 }, },
>         { .name = FW_FILE_ISP24XX, },
>         { .name = FW_FILE_ISP25XX, },
> -       { .name = FW_FILE_ISP81XX, },
> -       { .name = FW_FILE_ISP82XX, },
>         { .name = FW_FILE_ISP2031, },
>         { .name = FW_FILE_ISP8031, },
>         { .name = FW_FILE_ISP27XX, },
> +#ifdef CONFIG_SCSI_QLA_FC_TRIAGE
> +       { .name = FW_FILE_ISP81XX, },
> +       { .name = FW_FILE_ISP82XX, },
> +#endif
>  };
>
>  struct fw_blob *
> @@ -5337,16 +5344,18 @@ qla2x00_request_firmware(scsi_qla_host_t *vha)
>                 blob = &qla_fw_blobs[FW_ISP24XX];
>         } else if (IS_QLA25XX(ha)) {
>                 blob = &qla_fw_blobs[FW_ISP25XX];
> -       } else if (IS_QLA81XX(ha)) {
> -               blob = &qla_fw_blobs[FW_ISP81XX];
> -       } else if (IS_QLA82XX(ha)) {
> -               blob = &qla_fw_blobs[FW_ISP82XX];
>         } else if (IS_QLA2031(ha)) {
>                 blob = &qla_fw_blobs[FW_ISP2031];
>         } else if (IS_QLA8031(ha)) {
>                 blob = &qla_fw_blobs[FW_ISP8031];
>         } else if (IS_QLA27XX(ha)) {
>                 blob = &qla_fw_blobs[FW_ISP27XX];
> +#ifdef CONFIG_SCSI_QLA_FC_TRIAGE
> +       } else if (IS_QLA81XX(ha)) {
> +               blob = &qla_fw_blobs[FW_ISP81XX];
> +       } else if (IS_QLA82XX(ha)) {
> +               blob = &qla_fw_blobs[FW_ISP82XX];
> +#endif
>         } else {
>                 return NULL;
>         }
> @@ -5837,3 +5846,8 @@ MODULE_FIRMWARE(FW_FILE_ISP25XX);
>  MODULE_FIRMWARE(FW_FILE_ISP2031);
>  MODULE_FIRMWARE(FW_FILE_ISP8031);
>  MODULE_FIRMWARE(FW_FILE_ISP27XX);
> +
> +#ifdef CONFIG_SCSI_QLA_FC_TRIAGE
> +MODULE_FIRMWARE(FW_FILE_ISP81XX);
> +MODULE_FIRMWARE(FW_FILE_ISP82XX);
> +#endif
> --
> 2.1.4
>

  reply	other threads:[~2015-10-07 15:13 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-22  0:00 [PATCH for-next] scsi: qla2xxx: Hide unavailable firmware Julian Calaby
2015-05-22  0:05 ` Julian Calaby
2015-10-07 15:13   ` Xose Vazquez Perez [this message]
2015-10-07 23:41     ` Julian Calaby
2015-10-08 15:46       ` Himanshu Madhani
2015-10-08 16:17         ` James Bottomley
2015-10-08 17:38           ` Himanshu Madhani
2015-10-08 23:10           ` Julian Calaby
2015-10-09  0:26             ` Giridhar Malavali
2015-10-09 14:45               ` Xose Vazquez Perez

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56153682.1030801@gmail.com \
    --to=xose.vazquez@gmail.com \
    --cc=JBottomley@odin.com \
    --cc=julian.calaby@gmail.com \
    --cc=linux-firmware@kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=qla2xxx-upstream@qlogic.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.