1. 15 Jul, 2020 36 commits
    • Lee Jones's avatar
      scsi: aacraid: Fix logical bug when !DBG · 2fee77e5
      Lee Jones authored
      When DBG is not enabled FIB_COUNTER_INCREMENT() results in an empty
      statement, leaving the contents of if() and else() empty.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/aacraid/dpcsup.c: In function ‘aac_response_normal’:
       drivers/scsi/aacraid/dpcsup.c:105:50: warning: suggest braces around empty body in an ‘else’ statement [-Wempty-body]
       105 | FIB_COUNTER_INCREMENT(aac_config.AsyncRecved);
       | ^
       drivers/scsi/aacraid/dpcsup.c: In function ‘aac_intr_normal’:
       drivers/scsi/aacraid/dpcsup.c:411:30: warning: suggest braces around empty body in an ‘else’ statement [-Wempty-body]
       411 | aac_config.AsyncRecved);
       | ^
      
      Link: https://lore.kernel.org/r/20200713080001.128044-4-lee.jones@linaro.org
      Cc: Adaptec OEM Raid Solutions <aacraid@microsemi.com>
      Cc: "PMC-Sierra, Inc" <aacraid@pmc-sierra.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      2fee77e5
    • Lee Jones's avatar
      scsi: aacraid: Fix a few kerneldoc issues · cf93fffa
      Lee Jones authored
      Functions must follow imediately after the header documenting them and all
      parameters must be present.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/aacraid/commctrl.c:43: warning: Excess function parameter 'dev' description in 'AAC_DEBUG_PREAMBLE'
       drivers/scsi/aacraid/commctrl.c:43: warning: Excess function parameter 'arg' description in 'AAC_DEBUG_PREAMBLE'
       drivers/scsi/aacraid/commctrl.c:167: warning: Function parameter or member 'dev' not described in 'open_getadapter_fib'
       drivers/scsi/aacraid/commctrl.c:167: warning: Function parameter or member 'arg' not described in 'open_getadapter_fib'
       drivers/scsi/aacraid/commctrl.c:458: warning: Cannot understand  *
       on line 458 - I thought it was a doc line
      
      Link: https://lore.kernel.org/r/20200713080001.128044-3-lee.jones@linaro.org
      Cc: Adaptec OEM Raid Solutions <aacraid@microsemi.com>
      Cc: "PMC-Sierra, Inc" <aacraid@pmc-sierra.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      cf93fffa
    • Lee Jones's avatar
      scsi: aacraid: Repair two kerneldoc headers · b115958d
      Lee Jones authored
      The function headers for aac_get_config_status() and aac_get_containers()
      have suffered bitrot where the documentation hasn't kept up with the API.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/aacraid/aachba.c:358: warning: Function parameter or member 'dev' not described in 'aac_get_config_status'
       drivers/scsi/aacraid/aachba.c:358: warning: Function parameter or member 'commit_flag' not described in 'aac_get_config_status'
       drivers/scsi/aacraid/aachba.c:358: warning: Excess function parameter 'common' description in 'aac_get_config_status'
       drivers/scsi/aacraid/aachba.c:450: warning: Function parameter or member 'dev' not described in 'aac_get_containers'
       drivers/scsi/aacraid/aachba.c:450: warning: Excess function parameter 'common' description in 'aac_get_containers'
      
      Link: https://lore.kernel.org/r/20200713080001.128044-2-lee.jones@linaro.org
      Cc: Adaptec OEM Raid Solutions <aacraid@microsemi.com>
      Cc: "PMC-Sierra, Inc" <aacraid@pmc-sierra.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      b115958d
    • Shyam Sundar's avatar
      scsi: qla2xxx: Address a set of sparse warnings · 58101f15
      Shyam Sundar authored
      Fix the following sparse warnings:
      
      drivers/scsi/qla2xxx/qla_isr.c:881:23: warning: restricted __le16 degrades to integer
      drivers/scsi/qla2xxx/qla_isr.c:881:23: warning: cast to restricted __le16
      
      Link: https://lore.kernel.org/r/20200715043358.21668-1-njavali@marvell.comSigned-off-by: default avatarShyam Sundar <ssundar@marvell.com>
      Signed-off-by: default avatarNilesh Javali <njavali@marvell.com>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      58101f15
    • YueHaibing's avatar
    • James Smart's avatar
      scsi: lpfc: NVMe remote port devloss_tmo from lldd · 1f546823
      James Smart authored
      nvme-fc allows the driver to specify a default devloss_tmo value when
      registering the remote port. The lpfc driver is currently not doing so,
      although it is implementing a driver internal node loss value of 30s which
      also is used on the SCSI FC remote port. As no devloss_tmo is set, the
      nvme-fc transport defaults to 60s. So there are competing timers.
      
      Additionally, due to the competing timers, it is possible the NVMe rport is
      removed but the SCSI rport remains. It is possible that the SCSI FC rport,
      which was registered for the NVMe port even if it doesn't utilize the SCSI
      protocol, had been tuned to not match either the 60s (nvme-fc default) or
      30s (lldd default), it gets out of whack. The lldd will defer to the SCSI
      FC rport as long as the SCSI FC rport has not had its devloss_tmo expire.
      
      Correct the situation by specifying a default devloss_tmo to the nvme-fc
      transport when registering the rport.  Take the value from the SCSI FC
      rport if it exists, otherwise use the driver default.
      
      Link: https://lore.kernel.org/r/20200714211412.11773-1-jsmart2021@gmail.comTested-by: default avatarMartin George <Martin.George@netapp.com>
      Signed-off-by: default avatarJames Smart <jsmart2021@gmail.com>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      1f546823
    • Varun Prakash's avatar
      ba8ca097
    • Anton Blanchard's avatar
      scsi: lpfc: Quieten some printks · bc2736e9
      Anton Blanchard authored
      On a big box the lpfc driver emits a few thousand "Set Affinity" lines to
      the console. Reduce the priority of these from KERN_ERR to KERN_INFO, and
      also fix a few printks that had no log level.
      
      Link: https://lore.kernel.org/r/20200713083908.1104927-1-anton@ozlabs.orgReviewed-by: default avatarJames Smart <james.smart@broadcom.com>
      Signed-off-by: default avatarAnton Blanchard <anton@ozlabs.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      bc2736e9
    • Lee Jones's avatar
      scsi: qla4xxx: Provide a missing function param description and fix formatting · 7ec772d0
      Lee Jones authored
      Kerneldoc function parameter references need to be in the format '@.*: ',
      else the kerneldoc checker gets confused.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/qla4xxx/ql4_init.c: In function ‘ql4xxx_set_mac_number’:
       drivers/scsi/qla4xxx/ql4_init.c:17:10: warning: variable ‘func_number’ set but not used [-Wunused-but-set-variable]
       drivers/scsi/qla4xxx/ql4_init.c: In function ‘qla4xxx_pci_config’:
       drivers/scsi/qla4xxx/ql4_init.c:664:6: warning: variable ‘status’ set but not used [-Wunused-but-set-variable]
      from  drivers/scsi/qla4xxx/ql4_init.c:9:
      from  drivers/scsi/qla4xxx/ql4_init.c:9:
       drivers/scsi/qla4xxx/ql4_init.c:953: warning: Function parameter or member 'is_reset' not described in 'qla4xxx_initialize_adapter'
       drivers/scsi/qla4xxx/ql4_init.c:1168: warning: Function parameter or member 'ha' not described in 'qla4xxx_process_ddb_changed'
       drivers/scsi/qla4xxx/ql4_init.c:1168: warning: Function parameter or member 'fw_ddb_index' not described in 'qla4xxx_process_ddb_changed'
       drivers/scsi/qla4xxx/ql4_init.c:1168: warning: Function parameter or member 'state' not described in 'qla4xxx_process_ddb_changed'
       drivers/scsi/qla4xxx/ql4_init.c:1168: warning: Function parameter or member 'conn_err' not described in 'qla4xxx_process_ddb_changed'
      
      Link: https://lore.kernel.org/r/20200713074645.126138-30-lee.jones@linaro.org
      Cc: QLogic-Storage-Upstream@qlogic.com
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      7ec772d0
    • Lee Jones's avatar
      scsi: aacraid: Fix a bunch of function doc formatting errors · e7eb414c
      Lee Jones authored
      And a few missing/excessive parameter descriptions.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/aacraid/aachba.c:358: warning: Function parameter or member 'dev' not described in 'aac_get_config_status'
       drivers/scsi/aacraid/aachba.c:358: warning: Function parameter or member 'commit_flag' not described in 'aac_get_config_status'
       drivers/scsi/aacraid/aachba.c:358: warning: Excess function parameter 'common' description in 'aac_get_config_status'
       drivers/scsi/aacraid/aachba.c:450: warning: Function parameter or member 'dev' not described in 'aac_get_containers'
       drivers/scsi/aacraid/aachba.c:450: warning: Excess function parameter 'common' description in 'aac_get_containers'
       drivers/scsi/aacraid/aachba.c:568: warning: Function parameter or member 'scsicmd' not described in 'aac_get_container_name'
       drivers/scsi/aacraid/aachba.c:796: warning: Function parameter or member 'scsicmd' not described in 'aac_probe_container_callback1'
       drivers/scsi/aacraid/aachba.c:796: warning: Excess function parameter 'dev' description in 'aac_probe_container_callback1'
       drivers/scsi/aacraid/aachba.c:796: warning: Excess function parameter 'cid' description in 'aac_probe_container_callback1'
       drivers/scsi/aacraid/aachba.c:1105: warning: Function parameter or member 'scsicmd' not described in 'aac_get_container_serial'
       drivers/scsi/aacraid/aachba.c:1961: warning: Excess function parameter 'phys_luns' description in 'aac_set_safw_attr_all_targets'
       drivers/scsi/aacraid/aachba.c:1961: warning: Excess function parameter 'rescan' description in 'aac_set_safw_attr_all_targets'
       drivers/scsi/aacraid/aachba.c:3394: warning: Cannot understand  *
       on line 3394 - I thought it was a doc line
       drivers/scsi/aacraid/aachba.c:3687: warning: Cannot understand  *
       on line 3687 - I thought it was a doc line
       drivers/scsi/aacraid/aachba.c:3752: warning: Cannot understand  *
       on line 3752 - I thought it was a doc line
       drivers/scsi/aacraid/aachba.c:3795: warning: Cannot understand  *
       on line 3795 - I thought it was a doc line
      
      Link: https://lore.kernel.org/r/20200713074645.126138-29-lee.jones@linaro.org
      Cc: Adaptec OEM Raid Solutions <aacraid@microsemi.com>
      Cc: "PMC-Sierra, Inc" <aacraid@pmc-sierra.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      e7eb414c
    • Lee Jones's avatar
      scsi: aic94xx: Repair kerneldoc formatting error and remove extra param · bb458974
      Lee Jones authored
      Function parameters need to be documented with format '@.*: '.
      
      'to' is not longer asd_start_timers()'s function parameter.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/aic94xx/aic94xx_hwi.c:589: warning: Function parameter or member 'asd_ha' not described in 'asd_init_ctxmem'
       drivers/scsi/aic94xx/aic94xx_hwi.c:1157: warning: Excess function parameter 'to' description in 'asd_start_scb_timers'
      
      Link: https://lore.kernel.org/r/20200713074645.126138-28-lee.jones@linaro.org
      Cc: Luben Tuikov <luben_tuikov@adaptec.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      bb458974
    • Lee Jones's avatar
      scsi: pm8001: Demote obvious misuse of kerneldoc and update others · e802fc43
      Lee Jones authored
      More bitrot issues with function documentation not keeping up with API changes.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/pm8001/pm8001_init.c:64: warning: cannot understand function prototype: 'const struct pm8001_chip_info pm8001_chips[] = '
       drivers/scsi/pm8001/pm8001_init.c:86: warning: cannot understand function prototype: 'struct scsi_host_template pm8001_sht = '
       drivers/scsi/pm8001/pm8001_init.c:115: warning: cannot understand function prototype: 'struct sas_domain_function_template pm8001_transport_ops = '
       drivers/scsi/pm8001/pm8001_init.c:212: warning: Function parameter or member 'irq' not described in 'pm8001_interrupt_handler_msix'
       drivers/scsi/pm8001/pm8001_init.c:237: warning: Function parameter or member 'irq' not described in 'pm8001_interrupt_handler_intx'
       drivers/scsi/pm8001/pm8001_init.c:265: warning: Function parameter or member 'ent' not described in 'pm8001_alloc'
       drivers/scsi/pm8001/pm8001_init.c:624: warning: Function parameter or member 'pm8001_ha' not described in 'pm8001_init_sas_add'
       drivers/scsi/pm8001/pm8001_init.c:624: warning: Excess function parameter 'chip_info' description in 'pm8001_init_sas_add'
       drivers/scsi/pm8001/pm8001_init.c:900: warning: Function parameter or member 'pm8001_ha' not described in 'pm8001_setup_msix'
       drivers/scsi/pm8001/pm8001_init.c:900: warning: Excess function parameter 'chip_info' description in 'pm8001_setup_msix'
       drivers/scsi/pm8001/pm8001_init.c:900: warning: Excess function parameter 'irq_handler' description in 'pm8001_setup_msix'
       drivers/scsi/pm8001/pm8001_init.c:981: warning: Function parameter or member 'pm8001_ha' not described in 'pm8001_request_irq'
       drivers/scsi/pm8001/pm8001_init.c:981: warning: Excess function parameter 'chip_info' description in 'pm8001_request_irq'
      
      Link: https://lore.kernel.org/r/20200713074645.126138-27-lee.jones@linaro.org
      Cc: Kumar Santhanam <AnandKumar.Santhanam@pmcs.com>
      Cc: Sangeetha Gnanasekaran <Sangeetha.Gnanasekaran@pmcs.com>
      Cc: Nikith Ganigarakoppal <Nikith.Ganigarakoppal@pmcs.com>
      Acked-by: default avatarJack Wang <jinpu.wang@cloud.ionos.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      e802fc43
    • Lee Jones's avatar
      scsi: aic94xx: Demote seemingly unintentional kerneldoc header · 2862a3a2
      Lee Jones authored
      This is the only use of kerneldoc in the sourcefile and no
      descriptions are provided.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/aic94xx/aic94xx_init.c:538: warning: Function parameter or member 'asd_ha' not described in 'asd_free_edbs'
      
      Link: https://lore.kernel.org/r/20200713074645.126138-26-lee.jones@linaro.org
      Cc: YueHaibing <yuehaibing@huawei.com>
      Cc: Luben Tuikov <luben_tuikov@adaptec.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      2862a3a2
    • Lee Jones's avatar
      scsi: aacraid: Fix a couple of small kerneldoc issues · 00a72e8c
      Lee Jones authored
      Most likely caused by bitrot (docs not keeping in sync with API).
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/aacraid/linit.c: In function ‘aac_biosparm’:
       drivers/scsi/aacraid/linit.c:368:41: warning: suggest braces around empty body in an ‘if’ statement [-Wempty-body]
       drivers/scsi/aacraid/linit.c:243: warning: Function parameter or member 'shost' not described in 'aac_queuecommand'
       drivers/scsi/aacraid/linit.c:243: warning: Excess function parameter 'done' description in 'aac_queuecommand'
       drivers/scsi/aacraid/linit.c:1176: warning: Excess function parameter 'inode' description in 'aac_cfg_ioctl'
      
      Link: https://lore.kernel.org/r/20200713074645.126138-25-lee.jones@linaro.org
      Cc: Adaptec OEM Raid Solutions <aacraid@microsemi.com>
      Cc: "PMC-Sierra, Inc" <aacraid@pmc-sierra.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      00a72e8c
    • Lee Jones's avatar
      scsi: aacraid: Provide suggested curly braces around empty body of if() · 8558d5a4
      Lee Jones authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/aacraid/linit.c: In function ‘aac_biosparm’:
       drivers/scsi/aacraid/linit.c:368:41: warning: suggest braces around empty body in an ‘if’ statement [-Wempty-body]
       368 | param->heads, param->sectors, num));
       | ^
      
      Link: https://lore.kernel.org/r/20200713074645.126138-24-lee.jones@linaro.org
      Cc: Adaptec OEM Raid Solutions <aacraid@microsemi.com>
      Cc: "PMC-Sierra, Inc" <aacraid@pmc-sierra.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      8558d5a4
    • Lee Jones's avatar
      scsi: qedf: Demote obvious misuse of kerneldoc to standard comment blocks · ce7e0a84
      Lee Jones authored
      No attempt has been made to document any of the demoted functions here.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/qedf/qedf_debugfs.c:25: warning: Function parameter or member 'qedf' not described in 'qedf_dbg_host_init'
       drivers/scsi/qedf/qedf_debugfs.c:25: warning: Function parameter or member 'dops' not described in 'qedf_dbg_host_init'
       drivers/scsi/qedf/qedf_debugfs.c:25: warning: Function parameter or member 'fops' not described in 'qedf_dbg_host_init'
       drivers/scsi/qedf/qedf_debugfs.c:25: warning: Excess function parameter 'pf' description in 'qedf_dbg_host_init'
       drivers/scsi/qedf/qedf_debugfs.c:51: warning: Function parameter or member 'qedf_dbg' not described in 'qedf_dbg_host_exit'
       drivers/scsi/qedf/qedf_debugfs.c:51: warning: Excess function parameter 'pf' description in 'qedf_dbg_host_exit'
       drivers/scsi/qedf/qedf_debugfs.c:64: warning: Function parameter or member 'drv_name' not described in 'qedf_dbg_init'
      
      Link: https://lore.kernel.org/r/20200713074645.126138-23-lee.jones@linaro.org
      Cc: QLogic-Storage-Upstream@cavium.com
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      ce7e0a84
    • Lee Jones's avatar
      scsi: aic7xxx: Fix 'amount_xferred' set but not used issue · aa89d74e
      Lee Jones authored
      'amount_xferred' is used, but only in certain circumstances.  Place the
      same stipulations on the defining/allocating of 'amount_xferred' as is
      placed when using it.
      
      We've been careful not to change any of the ordering semantics here.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/aic7xxx/aic7xxx_osm.c: In function ‘ahc_done’:
       drivers/scsi/aic7xxx/aic7xxx_osm.c:1725:12: warning: variable ‘amount_xferred’ set but not used [-Wunused-but-set-variable]
       1725 | uint32_t amount_xferred;
       | ^~~~~~~~~~~~~~
      
      Link: https://lore.kernel.org/r/20200713074645.126138-22-lee.jones@linaro.org
      Cc: Hannes Reinecke <hare@suse.com>
      Cc: "Daniel M. Eischen" <deischen@iworks.InterWorks.org>
      Cc: Doug Ledford <dledford@redhat.com>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      aa89d74e
    • Lee Jones's avatar
      scsi: aic7xxx: Remove unused variable 'targ' · 7097a517
      Lee Jones authored
      Looks like checking the 'targ' was removed in 2005.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/aic7xxx/aic7xxx_osm.c: In function ‘ahc_send_async’:
       drivers/scsi/aic7xxx/aic7xxx_osm.c:1604:28: warning: variable ‘targ’ set but not used [-Wunused-but-set-variable]
       1604 | struct ahc_linux_target *targ;
       | ^~~~
      
      Link: https://lore.kernel.org/r/20200713074645.126138-21-lee.jones@linaro.org
      Cc: Hannes Reinecke <hare@suse.com>
      Cc: "Daniel M. Eischen" <deischen@iworks.InterWorks.org>
      Cc: Doug Ledford <dledford@redhat.com>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      7097a517
    • Lee Jones's avatar
      scsi: aic7xxx: Remove unused variable 'ahc' · 614fc2f9
      Lee Jones authored
      Looks as though 'ahc' hasn't been used since 2005.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/aic7xxx/aic7xxx_osm.c: In function ‘ahc_linux_slave_configure’:
       drivers/scsi/aic7xxx/aic7xxx_osm.c:674:20: warning: variable ‘ahc’ set but not used [-Wunused-but-set-variable]
       674 | struct ahc_softc *ahc;
       | ^~~
      
      Link: https://lore.kernel.org/r/20200713074645.126138-20-lee.jones@linaro.org
      Cc: Hannes Reinecke <hare@suse.com>
      Cc: "Daniel M. Eischen" <deischen@iworks.InterWorks.org>
      Cc: Doug Ledford <dledford@redhat.com>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      614fc2f9
    • Lee Jones's avatar
      scsi: aic7xxx: Remove unused variable 'tinfo' · e3f58eee
      Lee Jones authored
      Looks like none of the artifact from ahc_fetch_transinfo() are used anymore.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/aic7xxx/aic7xxx_osm.c: In function ‘ahc_linux_target_alloc’:
       drivers/scsi/aic7xxx/aic7xxx_osm.c:567:30: warning: variable ‘tinfo’ set but not used [-Wunused-but-set-variable]
       567 | struct ahc_initiator_tinfo *tinfo;
       | ^~~~~
      
      Link: https://lore.kernel.org/r/20200713074645.126138-19-lee.jones@linaro.org
      Cc: Hannes Reinecke <hare@suse.com>
      Cc: "Daniel M. Eischen" <deischen@iworks.InterWorks.org>
      Cc: Doug Ledford <dledford@redhat.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      e3f58eee
    • Lee Jones's avatar
      scsi: bnx2fc: Demote obvious misuse of kerneldoc to standard comment blocks · 2bd92b33
      Lee Jones authored
      No attempt has been made to document either of the demoted functions here.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/bnx2fc/bnx2fc_tgt.c:442: warning: Function parameter or member 'lport' not described in 'bnx2fc_rport_event_handler'
       drivers/scsi/bnx2fc/bnx2fc_tgt.c:442: warning: Function parameter or member 'rdata' not described in 'bnx2fc_rport_event_handler'
       drivers/scsi/bnx2fc/bnx2fc_tgt.c:442: warning: Function parameter or member 'event' not described in 'bnx2fc_rport_event_handler'
       drivers/scsi/bnx2fc/bnx2fc_tgt.c:665: warning: Function parameter or member 'hba' not described in 'bnx2fc_alloc_session_resc'
       drivers/scsi/bnx2fc/bnx2fc_tgt.c:665: warning: Function parameter or member 'tgt' not described in 'bnx2fc_alloc_session_resc'
      
      Link: https://lore.kernel.org/r/20200713074645.126138-18-lee.jones@linaro.org
      Cc: QLogic-Storage-Upstream@qlogic.com
      Cc: Prakash Gollapudi <bprakash@broadcom.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      2bd92b33
    • Lee Jones's avatar
      scsi: qedf: Remove a whole host of unused variables · 50efc51c
      Lee Jones authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/qedf/qedf_io.c: In function ‘qedf_cmd_timeout’:
       drivers/scsi/qedf/qedf_io.c:25:5: warning: variable ‘op’ set but not used [-Wunused-but-set-variable]
       25 | u8 op = 0;
       | ^~
       drivers/scsi/qedf/qedf_io.c: In function ‘qedf_map_sg’:
       drivers/scsi/qedf/qedf_io.c:490:12: warning: variable ‘end_addr’ set but not used [-Wunused-but-set-variable]
       490 | u64 addr, end_addr;
       | ^~~~~~~~
       drivers/scsi/qedf/qedf_io.c: In function ‘qedf_post_io_req’:
       drivers/scsi/qedf/qedf_io.c:863:22: warning: variable ‘req_type’ set but not used [-Wunused-but-set-variable]
       863 | enum fcoe_task_type req_type = 0;
       | ^~~~~~~~
       drivers/scsi/qedf/qedf_io.c: In function ‘qedf_scsi_completion’:
       drivers/scsi/qedf/qedf_io.c:1134:31: warning: variable ‘task_ctx’ set but not used [-Wunused-but-set-variable]
       1134 | struct e4_fcoe_task_context *task_ctx;
       | ^~~~~~~~
       drivers/scsi/qedf/qedf_io.c: In function ‘qedf_scsi_done’:
       drivers/scsi/qedf/qedf_io.c:1345:6: warning: variable ‘xid’ set but not used [-Wunused-but-set-variable]
       1345 | u16 xid;
       | ^~~
       drivers/scsi/qedf/qedf_io.c: In function ‘qedf_initiate_abts’:
       drivers/scsi/qedf/qedf_io.c:1866:6: warning: variable ‘r_a_tov’ set but not used [-Wunused-but-set-variable]
       1866 | u32 r_a_tov = 0;
       | ^~~~~~~
       drivers/scsi/qedf/qedf_io.c: In function ‘qedf_process_abts_compl’:
       drivers/scsi/qedf/qedf_io.c:1967:11: warning: variable ‘xid’ set but not used [-Wunused-but-set-variable]
       1967 | uint16_t xid;
       | ^~~
       drivers/scsi/qedf/qedf_io.c: In function ‘qedf_initiate_cleanup’:
       drivers/scsi/qedf/qedf_io.c:2163:31: warning: variable ‘task’ set but not used [-Wunused-but-set-variable]
       2163 | struct e4_fcoe_task_context *task;
       | ^~~~
       drivers/scsi/qedf/qedf_io.c: In function ‘qedf_process_unsol_compl’:
       drivers/scsi/qedf/qedf_io.c:2534:11: warning: variable ‘tmp’ set but not used [-Wunused-but-set-variable]
       2534 | uint16_t tmp;
       | ^~~
      
      Link: https://lore.kernel.org/r/20200713074645.126138-17-lee.jones@linaro.org
      Cc: QLogic-Storage-Upstream@cavium.com
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      50efc51c
    • Lee Jones's avatar
      scsi: arcmsr: Remove some set but unused variables · 18bc435e
      Lee Jones authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/arcmsr/arcmsr_hba.c: In function ‘arcmsr_remap_pciregion’:
       drivers/scsi/arcmsr/arcmsr_hba.c:286:30: warning: variable ‘flags’ set but not used [-Wunused-but-set-variable]
       286 | unsigned long addr, range, flags;
       | ^~~~~
       drivers/scsi/arcmsr/arcmsr_hba.c: In function ‘arcmsr_suspend’:
       drivers/scsi/arcmsr/arcmsr_hba.c:1070:11: warning: variable ‘intmask_org’ set but not used [-Wunused-but-set-variable]
       1070 | uint32_t intmask_org;
       | ^~~~~~~~~~~
       drivers/scsi/arcmsr/arcmsr_hba.c: In function ‘arcmsr_done4abort_postqueue’:
       drivers/scsi/arcmsr/arcmsr_hba.c:1410:29: warning: variable ‘cdb_phy_hipart’ set but not used [-Wunused-but-set-variable]
       1410 | unsigned long ccb_cdb_phy, cdb_phy_hipart;
       | ^~~~~~~~~~~~~~
       drivers/scsi/arcmsr/arcmsr_hba.c: In function ‘arcmsr_hbaD_postqueue_isr’:
       drivers/scsi/arcmsr/arcmsr_hba.c:2448:36: warning: variable ‘cdb_phy_hipart’ set but not used [-Wunused-but-set-variable]
       2448 | unsigned long flags, ccb_cdb_phy, cdb_phy_hipart;
       | ^~~~~~~~~~~~~~
       drivers/scsi/arcmsr/arcmsr_hba.c: In function ‘arcmsr_hbaD_polling_ccbdone’:
       drivers/scsi/arcmsr/arcmsr_hba.c:3498:36: warning: variable ‘cdb_phy_hipart’ set but not used [-Wunused-but-set-variable]
       3498 | unsigned long flags, ccb_cdb_phy, cdb_phy_hipart;
       | ^~~~~~~~~~~~~~
      
      Link: https://lore.kernel.org/r/20200713074645.126138-15-lee.jones@linaro.org
      Cc: support@areca.com.tw
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      18bc435e
    • Lee Jones's avatar
      scsi: bnx2fc: Fix a couple of bitrotted function documentation headers · 4db2ac3e
      Lee Jones authored
      Likely a result of documentation not keeping up with API updates (a.k.a. bitrot).
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/bnx2fc/bnx2fc_hwi.c:493: warning: Function parameter or member 'hba' not described in 'bnx2fc_send_session_destroy_req'
       drivers/scsi/bnx2fc/bnx2fc_hwi.c:493: warning: Excess function parameter 'port' description in 'bnx2fc_send_session_destroy_req'
       drivers/scsi/bnx2fc/bnx2fc_hwi.c:1345: warning: Function parameter or member 'context' not described in 'bnx2fc_indicate_kcqe'
       drivers/scsi/bnx2fc/bnx2fc_hwi.c:1345: warning: Function parameter or member 'kcq' not described in 'bnx2fc_indicate_kcqe'
       drivers/scsi/bnx2fc/bnx2fc_hwi.c:1345: warning: Excess function parameter 'hba' description in 'bnx2fc_indicate_kcqe'
       drivers/scsi/bnx2fc/bnx2fc_hwi.c:1345: warning: Excess function parameter 'kcqe' description in 'bnx2fc_indicate_kcqe'
      
      Link: https://lore.kernel.org/r/20200713074645.126138-14-lee.jones@linaro.org
      Cc: QLogic-Storage-Upstream@qlogic.com
      Cc: Prakash Gollapudi <bprakash@broadcom.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      4db2ac3e
    • Lee Jones's avatar
      scsi: libfc: Provide missing and repair existing function documentation · ebb40ab6
      Lee Jones authored
      Mostly due to descriptions not keeping up with API changes.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/libfc/fc_fcp.c:299: warning: Function parameter or member 'status_code' not described in 'fc_fcp_retry_cmd'
       drivers/scsi/libfc/fc_fcp.c:595: warning: Function parameter or member 'seq' not described in 'fc_fcp_send_data'
       drivers/scsi/libfc/fc_fcp.c:595: warning: Excess function parameter 'sp' description in 'fc_fcp_send_data'
       drivers/scsi/libfc/fc_fcp.c:1289: warning: Function parameter or member 't' not described in 'fc_lun_reset_send'
       drivers/scsi/libfc/fc_fcp.c:1289: warning: Excess function parameter 'data' description in 'fc_lun_reset_send'
       drivers/scsi/libfc/fc_fcp.c:1422: warning: Function parameter or member 't' not described in 'fc_fcp_timeout'
       drivers/scsi/libfc/fc_fcp.c:1422: warning: Excess function parameter 'data' description in 'fc_fcp_timeout'
       drivers/scsi/libfc/fc_fcp.c:1696: warning: Function parameter or member 'code' not described in 'fc_fcp_recovery'
       drivers/scsi/libfc/fc_fcp.c:1716: warning: Function parameter or member 'offset' not described in 'fc_fcp_srr'
       drivers/scsi/libfc/fc_fcp.c:1859: warning: Function parameter or member 'sc_cmd' not described in 'fc_queuecommand'
       drivers/scsi/libfc/fc_fcp.c:1859: warning: Excess function parameter 'cmd' description in 'fc_queuecommand'
      
      Link: https://lore.kernel.org/r/20200713074645.126138-13-lee.jones@linaro.org
      Cc: Hannes Reinecke <hare@suse.de>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      ebb40ab6
    • Lee Jones's avatar
      scsi: libfc: Fix a couple of misdocumented function parameters · f636acae
      Lee Jones authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/libfc/fc_rport.c:129: warning: Function parameter or member 'port_id' not described in 'fc_rport_create'
       drivers/scsi/libfc/fc_rport.c:129: warning: Excess function parameter 'ids' description in 'fc_rport_create'
       drivers/scsi/libfc/fc_rport.c:1452: warning: Function parameter or member 'rdata_arg' not described in 'fc_rport_logo_resp'
       drivers/scsi/libfc/fc_rport.c:1452: warning: Excess function parameter 'lport_arg' description in 'fc_rport_logo_resp'
      
      Link: https://lore.kernel.org/r/20200713074645.126138-12-lee.jones@linaro.org
      Cc: Hannes Reinecke <hare@suse.de>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      f636acae
    • Lee Jones's avatar
      scsi: libfc: Repair function parameter documentation · 9865a04d
      Lee Jones authored
      Either misdocumentation and/or bitrot.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/libfc/fc_lport.c:412: warning: Function parameter or member 'in_fp' not described in 'fc_lport_recv_echo_req'
       drivers/scsi/libfc/fc_lport.c:412: warning: Excess function parameter 'fp' description in 'fc_lport_recv_echo_req'
       drivers/scsi/libfc/fc_lport.c:447: warning: Function parameter or member 'in_fp' not described in 'fc_lport_recv_rnid_req'
       drivers/scsi/libfc/fc_lport.c:447: warning: Excess function parameter 'fp' description in 'fc_lport_recv_rnid_req'
       drivers/scsi/libfc/fc_lport.c:1330: warning: Function parameter or member 'state' not described in 'fc_lport_enter_ns'
       drivers/scsi/libfc/fc_lport.c:1428: warning: Function parameter or member 'state' not described in 'fc_lport_enter_ms'
       drivers/scsi/libfc/fc_lport.c:1939: warning: Function parameter or member 'tov' not described in 'fc_lport_els_request'
      
      Link: https://lore.kernel.org/r/20200713074645.126138-11-lee.jones@linaro.org
      Cc: Hannes Reinecke <hare@suse.de>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      9865a04d
    • Lee Jones's avatar
      scsi: qedf: Remove set but not checked variable 'tmp' · c6e2f4bd
      Lee Jones authored
      Looks like the return value of readw() has never been checked.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/qedf/qedf_main.c: In function ‘__qedf_probe’:
       drivers/scsi/qedf/qedf_main.c:3203:6: warning: variable ‘tmp’ set but not used [-Wunused-but-set-variable]
      
      Link: https://lore.kernel.org/r/20200713074645.126138-10-lee.jones@linaro.org
      Cc: QLogic-Storage-Upstream@cavium.com
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      c6e2f4bd
    • Lee Jones's avatar
      scsi: qedf: Demote obvious misuse of kerneldoc to standard comment blocks · a9d4aece
      Lee Jones authored
      No attempt has been made to document either of the demoted functions here.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/qedf/qedf_main.c:1027: warning: Function parameter or member 'lport' not described in 'qedf_xmit'
       drivers/scsi/qedf/qedf_main.c:1027: warning: Function parameter or member 'fp' not described in 'qedf_xmit'
       drivers/scsi/qedf/qedf_main.c:1426: warning: Function parameter or member 'lport' not described in 'qedf_rport_event_handler'
       drivers/scsi/qedf/qedf_main.c:1426: warning: Function parameter or member 'rdata' not described in 'qedf_rport_event_handler'
       drivers/scsi/qedf/qedf_main.c:1426: warning: Function parameter or member 'event' not described in 'qedf_rport_event_handler'
      
      Link: https://lore.kernel.org/r/20200713074645.126138-9-lee.jones@linaro.org
      Cc: QLogic-Storage-Upstream@cavium.com
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      a9d4aece
    • Lee Jones's avatar
      scsi: bnx2fc: Repair a range of kerneldoc issues · ca63d8e2
      Lee Jones authored
      >From bitrotted and missing function parameters to misuse of kerneldoc format.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/bnx2fc/bnx2fc_fcoe.c:1082: warning: Function parameter or member 'lport' not described in 'bnx2fc_update_src_mac'
       drivers/scsi/bnx2fc/bnx2fc_fcoe.c:1082: warning: Function parameter or member 'addr' not described in 'bnx2fc_update_src_mac'
       drivers/scsi/bnx2fc/bnx2fc_fcoe.c:1082: warning: Excess function parameter 'fip' description in 'bnx2fc_update_src_mac'
       drivers/scsi/bnx2fc/bnx2fc_fcoe.c:1082: warning: Excess function parameter 'old' description in 'bnx2fc_update_src_mac'
       drivers/scsi/bnx2fc/bnx2fc_fcoe.c:1082: warning: Excess function parameter 'new' description in 'bnx2fc_update_src_mac'
       drivers/scsi/bnx2fc/bnx2fc_fcoe.c:1670: warning: Function parameter or member 'netdev' not described in 'bnx2fc_destroy'
       drivers/scsi/bnx2fc/bnx2fc_fcoe.c:1670: warning: Excess function parameter 'buffer' description in 'bnx2fc_destroy'
       drivers/scsi/bnx2fc/bnx2fc_fcoe.c:1670: warning: Excess function parameter 'kp' description in 'bnx2fc_destroy'
       drivers/scsi/bnx2fc/bnx2fc_fcoe.c:2108: warning: Function parameter or member 'netdev' not described in 'bnx2fc_disable'
       drivers/scsi/bnx2fc/bnx2fc_fcoe.c:2236: warning: Function parameter or member 'netdev' not described in 'bnx2fc_enable'
       drivers/scsi/bnx2fc/bnx2fc_fcoe.c:2529: warning: Function parameter or member 'dev' not described in 'bnx2fc_ulp_exit'
       drivers/scsi/bnx2fc/bnx2fc_fcoe.c:2962: warning: cannot understand function prototype: 'struct scsi_host_template bnx2fc_shost_template = '
       drivers/scsi/bnx2fc/bnx2fc_fcoe.c:2996: warning: cannot understand function prototype: 'struct cnic_ulp_ops bnx2fc_cnic_cb = '
      
      Link: https://lore.kernel.org/r/20200713074645.126138-8-lee.jones@linaro.org
      Cc: QLogic-Storage-Upstream@qlogic.com
      Cc: Prakash Gollapudi <bprakash@broadcom.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      ca63d8e2
    • Lee Jones's avatar
      scsi: fcoe: Correct some kernel-doc issues · f2db5efe
      Lee Jones authored
      Mainly due to misdocumentation or bitrotted descriptions.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/fcoe/fcoe_transport.c:396: warning: Function parameter or member 'skb' not described in 'fcoe_check_wait_queue'
       drivers/scsi/fcoe/fcoe_transport.c:447: warning: Function parameter or member 't' not described in 'fcoe_queue_timer'
       drivers/scsi/fcoe/fcoe_transport.c:447: warning: Excess function parameter 'lport' description in 'fcoe_queue_timer'
       drivers/scsi/fcoe/fcoe_transport.c:682: warning: Function parameter or member 'netdev' not described in 'fcoe_netdev_map_lookup'
      
      Link: https://lore.kernel.org/r/20200713074645.126138-7-lee.jones@linaro.org
      Cc: Hannes Reinecke <hare@suse.de>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      f2db5efe
    • Lee Jones's avatar
      scsi: fcoe: Fix a myriad of documentation issues · 30526523
      Lee Jones authored
      Mostly missing or incorrect (bitrotted) function parameters.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/fcoe/fcoe_ctlr.c:139: warning: Function parameter or member 'mode' not described in 'fcoe_ctlr_init'
       drivers/scsi/fcoe/fcoe_ctlr.c:604: warning: Function parameter or member 'lport' not described in 'fcoe_ctlr_encaps'
       drivers/scsi/fcoe/fcoe_ctlr.c:1312: warning: Function parameter or member 'skb' not described in 'fcoe_ctlr_recv_clr_vlink'
       drivers/scsi/fcoe/fcoe_ctlr.c:1312: warning: Excess function parameter 'fh' description in 'fcoe_ctlr_recv_clr_vlink'
       drivers/scsi/fcoe/fcoe_ctlr.c:1781: warning: Function parameter or member 't' not described in 'fcoe_ctlr_timeout'
       drivers/scsi/fcoe/fcoe_ctlr.c:1781: warning: Excess function parameter 'arg' description in 'fcoe_ctlr_timeout'
       drivers/scsi/fcoe/fcoe_ctlr.c:1904: warning: Function parameter or member 'lport' not described in 'fcoe_ctlr_recv_flogi'
       drivers/scsi/fcoe/fcoe_ctlr.c:2166: warning: Function parameter or member 'lport' not described in 'fcoe_ctlr_disc_stop_locked'
       drivers/scsi/fcoe/fcoe_ctlr.c:2166: warning: Excess function parameter 'fip' description in 'fcoe_ctlr_disc_stop_locked'
       drivers/scsi/fcoe/fcoe_ctlr.c:2188: warning: Function parameter or member 'lport' not described in 'fcoe_ctlr_disc_stop'
       drivers/scsi/fcoe/fcoe_ctlr.c:2188: warning: Excess function parameter 'fip' description in 'fcoe_ctlr_disc_stop'
       drivers/scsi/fcoe/fcoe_ctlr.c:2204: warning: Function parameter or member 'lport' not described in 'fcoe_ctlr_disc_stop_final'
       drivers/scsi/fcoe/fcoe_ctlr.c:2204: warning: Excess function parameter 'fip' description in 'fcoe_ctlr_disc_stop_final'
       drivers/scsi/fcoe/fcoe_ctlr.c:2273: warning: Function parameter or member 'frport' not described in 'fcoe_ctlr_vn_parse'
       drivers/scsi/fcoe/fcoe_ctlr.c:2273: warning: Excess function parameter 'rdata' description in 'fcoe_ctlr_vn_parse'
       drivers/scsi/fcoe/fcoe_ctlr.c:2804: warning: Function parameter or member 'frport' not described in 'fcoe_ctlr_vlan_parse'
       drivers/scsi/fcoe/fcoe_ctlr.c:2804: warning: Excess function parameter 'rdata' description in 'fcoe_ctlr_vlan_parse'
       drivers/scsi/fcoe/fcoe_ctlr.c:2900: warning: Excess function parameter 'min_len' description in 'fcoe_ctlr_vlan_send'
       drivers/scsi/fcoe/fcoe_ctlr.c:2977: warning: Function parameter or member 'fip' not described in 'fcoe_ctlr_vlan_recv'
       drivers/scsi/fcoe/fcoe_ctlr.c:2977: warning: Function parameter or member 'skb' not described in 'fcoe_ctlr_vlan_recv'
       drivers/scsi/fcoe/fcoe_ctlr.c:2977: warning: Excess function parameter 'lport' description in 'fcoe_ctlr_vlan_recv'
       drivers/scsi/fcoe/fcoe_ctlr.c:2977: warning: Excess function parameter 'fp' description in 'fcoe_ctlr_vlan_recv'
       drivers/scsi/fcoe/fcoe_ctlr.c:3033: warning: Function parameter or member 'callback' not described in 'fcoe_ctlr_disc_start'
       drivers/scsi/fcoe/fcoe_ctlr.c:3033: warning: Function parameter or member 'lport' not described in 'fcoe_ctlr_disc_start'
       drivers/scsi/fcoe/fcoe_ctlr.c:3033: warning: Excess function parameter 'fip' description in 'fcoe_ctlr_disc_start'
      
      [mkp: fixed function name in comment]
      
      Link: https://lore.kernel.org/r/20200713074645.126138-6-lee.jones@linaro.org
      Cc: Hannes Reinecke <hare@suse.de>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      30526523
    • Lee Jones's avatar
      scsi: fcoe: Fix various kernel-doc infringements · 54888649
      Lee Jones authored
      A couple of headers make no attempt to document their associated function
      parameters.  Others looks as if they are suffering with a little bitrot.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/fcoe/fcoe.c:654: warning: Function parameter or member 'lport' not described in 'fcoe_netdev_features_change'
       drivers/scsi/fcoe/fcoe.c:654: warning: Function parameter or member 'netdev' not described in 'fcoe_netdev_features_change'
       drivers/scsi/fcoe/fcoe.c:2039: warning: Function parameter or member 'ctlr_dev' not described in 'fcoe_ctlr_mode'
       drivers/scsi/fcoe/fcoe.c:2039: warning: Excess function parameter 'cdev' description in 'fcoe_ctlr_mode'
       drivers/scsi/fcoe/fcoe.c:2144: warning: Function parameter or member 'fcoe' not described in 'fcoe_dcb_create'
       drivers/scsi/fcoe/fcoe.c:2144: warning: Excess function parameter 'netdev' description in 'fcoe_dcb_create'
       drivers/scsi/fcoe/fcoe.c:2144: warning: Excess function parameter 'port' description in 'fcoe_dcb_create'
       drivers/scsi/fcoe/fcoe.c:2627: warning: Function parameter or member 'lport' not described in 'fcoe_elsct_send'
       drivers/scsi/fcoe/fcoe.c:2627: warning: Function parameter or member 'did' not described in 'fcoe_elsct_send'
       drivers/scsi/fcoe/fcoe.c:2627: warning: Function parameter or member 'fp' not described in 'fcoe_elsct_send'
       drivers/scsi/fcoe/fcoe.c:2627: warning: Function parameter or member 'op' not described in 'fcoe_elsct_send'
       drivers/scsi/fcoe/fcoe.c:2627: warning: Function parameter or member 'resp' not described in 'fcoe_elsct_send'
       drivers/scsi/fcoe/fcoe.c:2627: warning: Function parameter or member 'arg' not described in 'fcoe_elsct_send'
       drivers/scsi/fcoe/fcoe.c:2627: warning: Function parameter or member 'timeout' not described in 'fcoe_elsct_send'
      
      Link: https://lore.kernel.org/r/20200713074645.126138-5-lee.jones@linaro.org
      Cc: Hannes Reinecke <hare@suse.de>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      54888649
    • Lee Jones's avatar
      scsi: libfc: trivial: Fix spelling mistake of 'discovery' · ee9ec5c9
      Lee Jones authored
      This is my fault (can't even blame copy/paste).
      
      Link: https://lore.kernel.org/r/20200713074645.126138-4-lee.jones@linaro.org
      Cc: Hannes Reinecke <hare@suse.de>
      Reported-by: default avatarJohannes Thumshirn <Johannes.Thumshirn@wdc.com>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      ee9ec5c9
    • Lee Jones's avatar
      scsi: scsi_transport_fc: Match HBA Attribute Length with HBAAPI V2.0 definitions · e721eb06
      Lee Jones authored
      According to 'include/scsi/scsi_transport_fc.h':
      
       "Attributes are based on HBAAPI V2.0 definitions"
      
      ... so it seems sane to match the 'HBA Attribute Length' to them.
      
      If we don't, the compiler complains that the copied data will be truncated.
      
      Fixes the following W=1 kernel build warning(s):
      
       In file included from include/linux/bitmap.h:9,
       from include/linux/cpumask.h:12,
       from include/linux/smp.h:13,
       from include/linux/percpu.h:7,
       from include/scsi/libfc.h:13,
       from drivers/scsi/libfc/fc_elsct.c:17:
       In function ‘strncpy’,
       inlined from ‘fc_ct_ms_fill.constprop’ at include/scsi/fc_encode.h:263:3:
       include/linux/string.h:297:30: warning: ‘__builtin_strncpy’ output may be truncated copying 64 bytes from a string of length  79 [-Wstringop-truncation]
       297 | #define __underlying_strncpy __builtin_strncpy
       | ^
       include/linux/string.h:307:9: note: in expansion of macro ‘__underlying_strncpy’
       307 | return __underlying_strncpy(p, q, size);
       | ^~~~~~~~~~~~~~~~~~~~
       In function ‘strncpy’,
       inlined from ‘fc_ct_ms_fill.constprop’ at include/scsi/fc_encode.h:275:3:
       include/linux/string.h:297:30: warning: ‘__builtin_strncpy’ output may be truncated copying 64 bytes from a string of length 79 [-Wstringop-truncation]
       297 | #define __underlying_strncpy __builtin_strncpy
       | ^
       include/linux/string.h:307:9: note: in expansion of macro ‘__underlying_strncpy’
       307 | return __underlying_strncpy(p, q, size);
       | ^~~~~~~~~~~~~~~~~~~~
      
      Link: https://lore.kernel.org/r/20200713074645.126138-3-lee.jones@linaro.orgReviewed-by: default avatarHannes Reinecke <hare@suse.de>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      e721eb06
    • Lee Jones's avatar
      scsi: libfc: Supply some missing kerneldoc struct/function attributes/params · 74341d35
      Lee Jones authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/libfc/fc_exch.c:66: warning: Function parameter or member 'left' not described in 'fc_exch_pool'
       drivers/scsi/libfc/fc_exch.c:66: warning: Function parameter or member 'right' not described in 'fc_exch_pool'
       drivers/scsi/libfc/fc_exch.c:100: warning: Function parameter or member 'lport' not described in 'fc_exch_mgr'
       drivers/scsi/libfc/fc_exch.c:727: warning: Function parameter or member 'ep' not described in 'fc_invoke_resp'
       drivers/scsi/libfc/fc_exch.c:727: warning: Function parameter or member 'sp' not described in 'fc_invoke_resp'
       drivers/scsi/libfc/fc_exch.c:727: warning: Function parameter or member 'fp' not described in 'fc_invoke_resp'
      
      Link: https://lore.kernel.org/r/20200713074645.126138-2-lee.jones@linaro.org
      Cc: Hannes Reinecke <hare@suse.de>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      74341d35
  2. 14 Jul, 2020 4 commits
    • Douglas Gilbert's avatar
      scsi: scsi_debug: Update documentation url and bump version · 30f67481
      Douglas Gilbert authored
      This driver maintains a version number which is cross-referenced in the
      documentation (e.g. to indicate when features are added or changed) and
      exposed through the responses to various SCSI commands. For example the
      version number is use as the Product Revision number in standard SCSI
      INQUIRY responses issued by this driver. The version date string is placed
      in a vendor specific area in each standard SCSI INQUIRY response. This
      patch bumps both.
      
      Update the driver documentation URL that appears at the top of the driver
      source file.
      
      Link: https://lore.kernel.org/r/20200712182927.72044-3-dgilbert@interlog.comSigned-off-by: default avatarDouglas Gilbert <dgilbert@interlog.com>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      30f67481
    • Douglas Gilbert's avatar
      scsi: scsi_debug: every_nth triggered error injection · 3a90a63d
      Douglas Gilbert authored
      This patch simplifies, or at least makes more consistent, the way setting
      the every_nth parameter injects errors. Here is a list of 'opts' flags and
      in which cases they inject errors when abs(every_nth)%command_count == 0 is
      reached:
      
        - OPT_RECOVERED_ERR: issued on READ(*)s, WRITE(*)s and
                             WRITE_SCATTEREDs
        - OPT_DIF_ERR:       issued on READ(*)s, WRITE(*)s and
                             WRITE_SCATTEREDs
        - OPT_DIX_ERR:       issued on READ(*)s, WRITE(*)s and
                             WRITE_SCATTEREDs
        - OPT_SHORT_TRANSFER: issued on READ(*)s
        - OPT_TRANSPORT_ERR: issued on all commands
        - OPT_CMD_ABORT:     issued on all commands
      
      The other uses of every_nth were not modified.
      
      Previously if, for example, OPT_SHORT_TRANSFER was armed then if
      (abs(every_nth) % command_count == 0) occurred during a command that was
      _not_ a READ, then no error injection occurred. This behaviour puzzled
      several testers. Now a global "inject_pending" flag is set and the _next_
      READ will get hit and that flag is cleared. OPT_RECOVERED_ERR, OPT_DIF_ERR
      and OPT_DIX_ERR have similar behaviour. A downside of this is that there
      might be a hang-over pending injection that gets triggered by a following
      test.
      
      Also expand the every_nth runtime parameter so that it can take hex value
      (i.e. with a leading '0x') as well as a decimal value. Now both the 'opts'
      and the 'every_nth' runtime parameters can take hexadecimal values.
      
      Link: https://lore.kernel.org/r/20200712182927.72044-2-dgilbert@interlog.comSigned-off-by: default avatarDouglas Gilbert <dgilbert@interlog.com>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      3a90a63d
    • John Garry's avatar
      scsi: scsi_debug: Support hostwide tags · c10fa55f
      John Garry authored
      Many SCSI HBAs support a hostwide tagset, whereby each command submitted to
      the HW from all submission queues must have a unique tag identifier.
      
      Normally this unique tag will be in the range [0, max queue], where "max
      queue" is the depth of each of the submission queues.
      
      Add support for this hostwide tag feature, via module parameter
      "host_max_queue". A non-zero value means that the feature is enabled. In
      this case, the submission queues are not exposed to upper layer, i.e. from
      blk-mq prespective, the device has a single hw queue. There are 2 reasons
      for this:
      
       a. It is assumed that the host can support nr_hw_queues * can_queue
          commands, but this is not true for hostwide tags
      
       b. For nr_hw_queues != 0, the request tag is not unique over all HW
          queues, and some HBA drivers want to use this tag for the hostwide tag
      
      However, like many SCSI HBA drivers today - megaraid sas being an example -
      the full set of HW submission queues are still used in the LLDD driver. So
      instead of using a complicated "reply_map" to create a per-CPU submission
      queue mapping like megaraid_sas (as it depends on a PCI device + MSIs) -
      use a simple algorithm:
      
          hwq = cpu % queue count
      
      If the host_max_queue param is set non-zero, then the max queue depth is
      fixed at this value also.
      
      If and when hostwide shared tags are supported in blk-mq/scsi mid-layer,
      then the policy to set nr_hw_queues = 0 for hostwide tags can be revised.
      
      Link: https://lore.kernel.org/r/1594297400-24756-3-git-send-email-john.garry@huawei.comAcked-by: default avatarDouglas Gilbert <dgilbert@interlog.com>
      Signed-off-by: default avatarJohn Garry <john.garry@huawei.com>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      c10fa55f
    • John Garry's avatar
      scsi: scsi_debug: Add check for sdebug_max_queue during module init · c87bf24c
      John Garry authored
      sdebug_max_queue should not exceed SDEBUG_CANQUEUE, otherwise crashes like
      this can be triggered by passing an out-of-range value:
      
      Hardware name: Huawei D06 /D06, BIOS Hisilicon D06 UEFI RC0 - V1.16.01 03/15/2019
       pstate: 20400009 (nzCv daif +PAN -UAO BTYPE=--)
       pc : schedule_resp+0x2a4/0xa70 [scsi_debug]
       lr : schedule_resp+0x52c/0xa70 [scsi_debug]
       sp : ffff800022ab36f0
       x29: ffff800022ab36f0 x28: ffff0023a935a610
       x27: ffff800008e0a648 x26: 0000000000000003
       x25: ffff0023e84f3200 x24: 00000000003d0900
       x23: 0000000000000000 x22: 0000000000000000
       x21: ffff0023be60a320 x20: ffff0023be60b538
       x19: ffff800008e13000 x18: 0000000000000000
       x17: 0000000000000000 x16: 0000000000000000
       x15: 0000000000000000 x14: 0000000000000000
       x13: 0000000000000000 x12: 0000000000000000
       x11: 0000000000000000 x10: 0000000000000000
       x9 : 0000000000000001 x8 : 0000000000000000
       x7 : 0000000000000000 x6 : 00000000000000c1
       x5 : 0000020000200000 x4 : dead0000000000ff
       x3 : 0000000000000200 x2 : 0000000000000200
       x1 : ffff800008e13d88 x0 : 0000000000000000
       Call trace:
      schedule_resp+0x2a4/0xa70 [scsi_debug]
      scsi_debug_queuecommand+0x2c4/0x9e0 [scsi_debug]
      scsi_queue_rq+0x698/0x840
      __blk_mq_try_issue_directly+0x108/0x228
      blk_mq_request_issue_directly+0x58/0x98
      blk_mq_try_issue_list_directly+0x5c/0xf0
      blk_mq_sched_insert_requests+0x18c/0x200
      blk_mq_flush_plug_list+0x11c/0x190
      blk_flush_plug_list+0xdc/0x110
      blk_finish_plug+0x38/0x210
      blkdev_direct_IO+0x450/0x4d8
      generic_file_read_iter+0x84/0x180
      blkdev_read_iter+0x3c/0x50
      aio_read+0xc0/0x170
      io_submit_one+0x5c8/0xc98
      __arm64_sys_io_submit+0x1b0/0x258
      el0_svc_common.constprop.3+0x68/0x170
      do_el0_svc+0x24/0x90
      el0_sync_handler+0x13c/0x1a8
      el0_sync+0x158/0x180
       Code: 528847e0 72a001e0 6b00003f 540018cd (3941c340)
      
      In addition, it should not be less than 1.
      
      So add checks for these, and fail the module init for those cases.
      
      [mkp: changed if condition to match error message]
      
      Link: https://lore.kernel.org/r/1594297400-24756-2-git-send-email-john.garry@huawei.com
      Fixes: c4837394 ("scsi_debug: add multiple queue support")
      Reviewed-by: default avatarMing Lei <ming.lei@redhat.com>
      Acked-by: default avatarDouglas Gilbert <dgilbert@interlog.com>
      Signed-off-by: default avatarJohn Garry <john.garry@huawei.com>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      c87bf24c