1. 25 Jul, 2020 40 commits
    • Lee Jones's avatar
      scsi: qla4xxx: Document qla4xxx_process_ddb()'s 'conn_err' · c0ad04b4
      Lee Jones authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/qla4xxx/ql4_init.c:1170: warning: Function parameter or member 'conn_err' not described in 'qla4xxx_process_ddb_changed'
      
      Link: https://lore.kernel.org/r/20200721164148.2617584-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>
      c0ad04b4
    • Lee Jones's avatar
      scsi: lpfc: Provide description for lpfc_mem_alloc()'s 'align' param · c734de98
      Lee Jones authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/lpfc/lpfc_mem.c:85: warning: Function parameter or member 'align' not described in 'lpfc_mem_alloc'
      
      Link: https://lore.kernel.org/r/20200721164148.2617584-29-lee.jones@linaro.org
      Cc: James Smart <james.smart@broadcom.com>
      Cc: Dick Kennedy <dick.kennedy@broadcom.com>
      Cc: Sumit Semwal <sumit.semwal@linaro.org>
      Cc: "Christian König" <christian.koenig@amd.com>
      Cc: linux-media@vger.kernel.org
      Cc: dri-devel@lists.freedesktop.org
      Cc: linaro-mm-sig@lists.linaro.org
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      c734de98
    • Lee Jones's avatar
      scsi: qla4xxx: Repair function documentation headers · fc5fba6e
      Lee Jones authored
      Fix one formatting issue, one misspelling and three missing descriptions.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/qla4xxx/ql4_isr.c:588: warning: Excess function parameter 'ret' description in 'qla4_83xx_loopback_in_progress'
       drivers/scsi/qla4xxx/ql4_isr.c:661: warning: Function parameter or member 'mbox_status' not described in 'qla4xxx_isr_decode_mailbox'
       drivers/scsi/qla4xxx/ql4_isr.c:661: warning: Excess function parameter 'mailbox_status' description in 'qla4xxx_isr_decode_mailbox'
       drivers/scsi/qla4xxx/ql4_isr.c:1053: warning: Function parameter or member 'intr_status' not described in 'qla4_82xx_interrupt_service_routine'
       drivers/scsi/qla4xxx/ql4_isr.c:1078: warning: Function parameter or member 'intr_status' not described in 'qla4xxx_interrupt_service_routine'
      
      Link: https://lore.kernel.org/r/20200721164148.2617584-28-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>
      fc5fba6e
    • Lee Jones's avatar
      scsi: qla4xxx: Fix some kerneldoc parameter documentation issues · cdeeb36d
      Lee Jones authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/qla4xxx/ql4_os.c:4551: warning: Function parameter or member 't' not described in 'qla4xxx_timer'
       drivers/scsi/qla4xxx/ql4_os.c:4551: warning: Excess function parameter 'ha' description in 'qla4xxx_timer'
       drivers/scsi/qla4xxx/ql4_os.c:5312: warning: Function parameter or member 'work' not described in 'qla4xxx_do_dpc'
       drivers/scsi/qla4xxx/ql4_os.c:5312: warning: Excess function parameter 'data' description in 'qla4xxx_do_dpc'
       drivers/scsi/qla4xxx/ql4_os.c:8627: warning: Function parameter or member 'ent' not described in 'qla4xxx_probe_adapter'
       drivers/scsi/qla4xxx/ql4_os.c:8627: warning: Excess function parameter 'pci_device_id' description in 'qla4xxx_probe_adapter'
       drivers/scsi/qla4xxx/ql4_os.c:9008: warning: Function parameter or member 'pdev' not described in 'qla4xxx_remove_adapter'
       drivers/scsi/qla4xxx/ql4_os.c:9008: warning: Excess function parameter 'pci_dev' description in 'qla4xxx_remove_adapter'
       drivers/scsi/qla4xxx/ql4_os.c:9181: warning: Function parameter or member 'stgt' not described in 'qla4xxx_eh_wait_for_commands'
       drivers/scsi/qla4xxx/ql4_os.c:9181: warning: Function parameter or member 'sdev' not described in 'qla4xxx_eh_wait_for_commands'
       drivers/scsi/qla4xxx/ql4_os.c:9181: warning: Excess function parameter 't' description in 'qla4xxx_eh_wait_for_commands'
       drivers/scsi/qla4xxx/ql4_os.c:9181: warning: Excess function parameter 'l' description in 'qla4xxx_eh_wait_for_commands'
       drivers/scsi/qla4xxx/ql4_os.c:9646: warning: Function parameter or member 'pdev' not described in 'qla4xxx_pci_mmio_enabled'
      
      Link: https://lore.kernel.org/r/20200721164148.2617584-27-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>
      cdeeb36d
    • Lee Jones's avatar
      scsi: pm8001: Staticify 'pm80xx_pci_mem_copy' and 'mpi_set_phy_profile_req' · ea310f57
      Lee Jones authored
      These are not invoked externally.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/pm8001/pm80xx_hwi.c:69:6: warning: no previous prototype for ‘pm80xx_pci_mem_copy’ [-Wmissing-prototypes]
       69 | void pm80xx_pci_mem_copy(struct pm8001_hba_info *pm8001_ha, u32 soffset,
       | ^~~~~~~~~~~~~~~~~~~
       drivers/scsi/pm8001/pm80xx_hwi.c:5016:6: warning: no previous prototype for ‘mpi_set_phy_profile_req’ [-Wmissing-prototypes]
       5016 | void mpi_set_phy_profile_req(struct pm8001_hba_info *pm8001_ha,
       | ^~~~~~~~~~~~~~~~~~~~~~~
      
      Link: https://lore.kernel.org/r/20200721164148.2617584-26-lee.jones@linaro.org
      Cc: Jack 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>
      ea310f57
    • Lee Jones's avatar
      scsi: lpfc: Fix-up around 120 documentation issues · 7af29d45
      Lee Jones authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/lpfc/lpfc_sli.c:257: warning: Function parameter or member 'mqe' not described in 'lpfc_sli4_mq_put'
       drivers/scsi/lpfc/lpfc_sli.c:257: warning: Excess function parameter 'wqe' description in 'lpfc_sli4_mq_put'
       drivers/scsi/lpfc/lpfc_sli.c:675: warning: Function parameter or member 'hq' not described in 'lpfc_sli4_rq_put'
       drivers/scsi/lpfc/lpfc_sli.c:675: warning: Function parameter or member 'dq' not described in 'lpfc_sli4_rq_put'
       drivers/scsi/lpfc/lpfc_sli.c:675: warning: Function parameter or member 'hrqe' not described in 'lpfc_sli4_rq_put'
       drivers/scsi/lpfc/lpfc_sli.c:675: warning: Function parameter or member 'drqe' not described in 'lpfc_sli4_rq_put'
       drivers/scsi/lpfc/lpfc_sli.c:675: warning: Excess function parameter 'q' description in 'lpfc_sli4_rq_put'
       drivers/scsi/lpfc/lpfc_sli.c:675: warning: Excess function parameter 'wqe' description in 'lpfc_sli4_rq_put'
       drivers/scsi/lpfc/lpfc_sli.c:738: warning: Function parameter or member 'hq' not described in 'lpfc_sli4_rq_release'
       drivers/scsi/lpfc/lpfc_sli.c:738: warning: Function parameter or member 'dq' not described in 'lpfc_sli4_rq_release'
       drivers/scsi/lpfc/lpfc_sli.c:738: warning: Excess function parameter 'q' description in 'lpfc_sli4_rq_release'
       drivers/scsi/lpfc/lpfc_sli.c:1021: warning: Function parameter or member 'xritag' not described in 'lpfc_test_rrq_active'
       drivers/scsi/lpfc/lpfc_sli.c:1132: warning: Function parameter or member 'piocbq' not described in '__lpfc_sli_get_els_sglq'
       drivers/scsi/lpfc/lpfc_sli.c:1132: warning: Excess function parameter 'piocb' description in '__lpfc_sli_get_els_sglq'
       drivers/scsi/lpfc/lpfc_sli.c:1207: warning: Function parameter or member 'piocbq' not described in '__lpfc_sli_get_nvmet_sglq'
       drivers/scsi/lpfc/lpfc_sli.c:1207: warning: Excess function parameter 'piocb' description in '__lpfc_sli_get_nvmet_sglq'
       drivers/scsi/lpfc/lpfc_sli.c:2243: warning: Function parameter or member 'rb_list' not described in 'lpfc_sli_hbqbuf_get'
       drivers/scsi/lpfc/lpfc_sli.c:2243: warning: Excess function parameter 'phba' description in 'lpfc_sli_hbqbuf_get'
       drivers/scsi/lpfc/lpfc_sli.c:2243: warning: Excess function parameter 'hbqno' description in 'lpfc_sli_hbqbuf_get'
       drivers/scsi/lpfc/lpfc_sli.c:2262: warning: Function parameter or member 'hrq' not described in 'lpfc_sli_rqbuf_get'
       drivers/scsi/lpfc/lpfc_sli.c:2262: warning: Excess function parameter 'hbqno' description in 'lpfc_sli_rqbuf_get'
       drivers/scsi/lpfc/lpfc_sli.c:3429: warning: Function parameter or member 't' not described in 'lpfc_poll_eratt'
       drivers/scsi/lpfc/lpfc_sli.c:3429: warning: Excess function parameter 'ptr' description in 'lpfc_poll_eratt'
       drivers/scsi/lpfc/lpfc_sli.c:4115: warning: Excess function parameter 'pring' description in 'lpfc_sli_abort_fcp_rings'
       drivers/scsi/lpfc/lpfc_sli.c:5331: warning: Excess function parameter 'mboxq' description in 'lpfc_sli4_read_fcoe_params'
       drivers/scsi/lpfc/lpfc_sli.c:5879: warning: Function parameter or member 'extnt_cnt' not described in 'lpfc_sli4_cfg_post_extnts'
       drivers/scsi/lpfc/lpfc_sli.c:5879: warning: Function parameter or member 'type' not described in 'lpfc_sli4_cfg_post_extnts'
       drivers/scsi/lpfc/lpfc_sli.c:5879: warning: Function parameter or member 'emb' not described in 'lpfc_sli4_cfg_post_extnts'
       drivers/scsi/lpfc/lpfc_sli.c:5879: warning: Function parameter or member 'mbox' not described in 'lpfc_sli4_cfg_post_extnts'
       drivers/scsi/lpfc/lpfc_sli.c:6459: warning: Function parameter or member 'pmb' not described in 'lpfc_sli4_ras_mbox_cmpl'
       drivers/scsi/lpfc/lpfc_sli.c:6459: warning: Excess function parameter 'pmboxq' description in 'lpfc_sli4_ras_mbox_cmpl'
       drivers/scsi/lpfc/lpfc_sli.c:6912: warning: Function parameter or member 'extnt_cnt' not described in 'lpfc_sli4_get_allocated_extnts'
       drivers/scsi/lpfc/lpfc_sli.c:6912: warning: Excess function parameter 'extnt_count' description in 'lpfc_sli4_get_allocated_extnts'
       drivers/scsi/lpfc/lpfc_sli.c:7064: warning: Excess function parameter 'pring' description in 'lpfc_sli4_repost_sgl_list'
       drivers/scsi/lpfc/lpfc_sli.c:7312: warning: Function parameter or member 'phba' not described in 'lpfc_init_idle_stat_hb'
       drivers/scsi/lpfc/lpfc_sli.c:8022: warning: Function parameter or member 't' not described in 'lpfc_mbox_timeout'
       drivers/scsi/lpfc/lpfc_sli.c:8022: warning: Excess function parameter 'ptr' description in 'lpfc_mbox_timeout'
       drivers/scsi/lpfc/lpfc_sli.c:8902: warning: Function parameter or member 'mboxq' not described in 'lpfc_sli_issue_mbox_s4'
       drivers/scsi/lpfc/lpfc_sli.c:8902: warning: Excess function parameter 'pmbox' description in 'lpfc_sli_issue_mbox_s4'
       drivers/scsi/lpfc/lpfc_sli.c:9413: warning: Function parameter or member 'piocbq' not described in 'lpfc_sli4_bpl2sgl'
       drivers/scsi/lpfc/lpfc_sli.c:9413: warning: Excess function parameter 'piocb' description in 'lpfc_sli4_bpl2sgl'
       drivers/scsi/lpfc/lpfc_sli.c:9518: warning: Function parameter or member 'iocbq' not described in 'lpfc_sli4_iocb2wqe'
       drivers/scsi/lpfc/lpfc_sli.c:9518: warning: Excess function parameter 'piocb' description in 'lpfc_sli4_iocb2wqe'
       drivers/scsi/lpfc/lpfc_sli.c:10212: warning: Function parameter or member 'phba' not described in '__lpfc_sli_issue_iocb'
       drivers/scsi/lpfc/lpfc_sli.c:10212: warning: Function parameter or member 'ring_number' not described in '__lpfc_sli_issue_iocb'
       drivers/scsi/lpfc/lpfc_sli.c:10212: warning: Function parameter or member 'piocb' not described in '__lpfc_sli_issue_iocb'
       drivers/scsi/lpfc/lpfc_sli.c:10212: warning: Function parameter or member 'flag' not described in '__lpfc_sli_issue_iocb'
       drivers/scsi/lpfc/lpfc_sli.c:10300: warning: Function parameter or member 'ring_number' not described in 'lpfc_sli_issue_iocb'
       drivers/scsi/lpfc/lpfc_sli.c:10300: warning: Excess function parameter 'pring' description in 'lpfc_sli_issue_iocb'
       drivers/scsi/lpfc/lpfc_sli.c:11807: warning: Function parameter or member 'cmd' not described in 'lpfc_sli_abort_taskmgmt'
       drivers/scsi/lpfc/lpfc_sli.c:11807: warning: Excess function parameter 'taskmgmt_cmd' description in 'lpfc_sli_abort_taskmgmt'
       drivers/scsi/lpfc/lpfc_sli.c:12067: warning: Function parameter or member 'ring_number' not described in 'lpfc_sli_issue_iocb_wait'
       drivers/scsi/lpfc/lpfc_sli.c:12067: warning: Excess function parameter 'pring' description in 'lpfc_sli_issue_iocb_wait'
       drivers/scsi/lpfc/lpfc_sli.c:12262: warning: Function parameter or member 'mbx_action' not described in 'lpfc_sli_mbox_sys_shutdown'
       drivers/scsi/lpfc/lpfc_sli.c:13219: warning: Function parameter or member 'irspiocbq' not described in 'lpfc_sli4_els_wcqe_to_rspiocbq'
       drivers/scsi/lpfc/lpfc_sli.c:13219: warning: Excess function parameter 'wcqe' description in 'lpfc_sli4_els_wcqe_to_rspiocbq'
       drivers/scsi/lpfc/lpfc_sli.c:13285: warning: Function parameter or member 'mcqe' not described in 'lpfc_sli4_sp_handle_async_event'
       drivers/scsi/lpfc/lpfc_sli.c:13285: warning: Excess function parameter 'cqe' description in 'lpfc_sli4_sp_handle_async_event'
       drivers/scsi/lpfc/lpfc_sli.c:13318: warning: Function parameter or member 'mcqe' not described in 'lpfc_sli4_sp_handle_mbox_event'
       drivers/scsi/lpfc/lpfc_sli.c:13318: warning: Excess function parameter 'cqe' description in 'lpfc_sli4_sp_handle_mbox_event'
       drivers/scsi/lpfc/lpfc_sli.c:13441: warning: Function parameter or member 'cq' not described in 'lpfc_sli4_sp_handle_mcqe'
       drivers/scsi/lpfc/lpfc_sli.c:13768: warning: Function parameter or member 'speq' not described in 'lpfc_sli4_sp_handle_eqe'
       drivers/scsi/lpfc/lpfc_sli.c:14126: warning: Function parameter or member 'cq' not described in 'lpfc_sli4_nvmet_handle_rcqe'
       drivers/scsi/lpfc/lpfc_sli.c:14235: warning: Function parameter or member 'cqe' not described in 'lpfc_sli4_fp_handle_cqe'
       drivers/scsi/lpfc/lpfc_sli.c:14235: warning: Excess function parameter 'eqe' description in 'lpfc_sli4_fp_handle_cqe'
       drivers/scsi/lpfc/lpfc_sli.c:14336: warning: Function parameter or member 'eq' not described in 'lpfc_sli4_hba_handle_eqe'
       drivers/scsi/lpfc/lpfc_sli.c:14808: warning: Function parameter or member 'entry_count' not described in 'lpfc_sli4_queue_alloc'
       drivers/scsi/lpfc/lpfc_sli.c:15185: warning: Function parameter or member 'type' not described in 'lpfc_cq_create'
       drivers/scsi/lpfc/lpfc_sli.c:15185: warning: Function parameter or member 'subtype' not described in 'lpfc_cq_create'
       drivers/scsi/lpfc/lpfc_sli.c:15333: warning: Function parameter or member 'type' not described in 'lpfc_cq_create_set'
       drivers/scsi/lpfc/lpfc_sli.c:15333: warning: Function parameter or member 'subtype' not described in 'lpfc_cq_create_set'
       drivers/scsi/lpfc/lpfc_sli.c:16063: warning: Function parameter or member 'subtype' not described in 'lpfc_rq_create'
       drivers/scsi/lpfc/lpfc_sli.c:16353: warning: Function parameter or member 'subtype' not described in 'lpfc_mrq_create'
       drivers/scsi/lpfc/lpfc_sli.c:16533: warning: Function parameter or member 'phba' not described in 'lpfc_eq_destroy'
       drivers/scsi/lpfc/lpfc_sli.c:16590: warning: Function parameter or member 'phba' not described in 'lpfc_cq_destroy'
       drivers/scsi/lpfc/lpfc_sli.c:16644: warning: Function parameter or member 'phba' not described in 'lpfc_mq_destroy'
       drivers/scsi/lpfc/lpfc_sli.c:16644: warning: Function parameter or member 'mq' not described in 'lpfc_mq_destroy'
       drivers/scsi/lpfc/lpfc_sli.c:16644: warning: Excess function parameter 'qm' description in 'lpfc_mq_destroy'
       drivers/scsi/lpfc/lpfc_sli.c:16698: warning: Function parameter or member 'phba' not described in 'lpfc_wq_destroy'
       drivers/scsi/lpfc/lpfc_sli.c:16754: warning: Function parameter or member 'phba' not described in 'lpfc_rq_destroy'
       drivers/scsi/lpfc/lpfc_sli.c:16754: warning: Function parameter or member 'hrq' not described in 'lpfc_rq_destroy'
       drivers/scsi/lpfc/lpfc_sli.c:16754: warning: Function parameter or member 'drq' not described in 'lpfc_rq_destroy'
       drivers/scsi/lpfc/lpfc_sli.c:16754: warning: Excess function parameter 'rq' description in 'lpfc_rq_destroy'
       drivers/scsi/lpfc/lpfc_sli.c:16940: warning: Function parameter or member 'xri' not described in '__lpfc_sli4_free_xri'
       drivers/scsi/lpfc/lpfc_sli.c:16955: warning: Function parameter or member 'xri' not described in 'lpfc_sli4_free_xri'
       drivers/scsi/lpfc/lpfc_sli.c:17002: warning: Function parameter or member 'post_cnt' not described in 'lpfc_sli4_post_sgl_list'
       drivers/scsi/lpfc/lpfc_sli.c:17002: warning: Excess function parameter 'count' description in 'lpfc_sli4_post_sgl_list'
       drivers/scsi/lpfc/lpfc_sli.c:17221: warning: Function parameter or member 'sb_count' not described in 'lpfc_sli4_post_io_sgl_list'
       drivers/scsi/lpfc/lpfc_sli.c:17451: warning: Function parameter or member 'did' not described in 'lpfc_fc_frame_to_vport'
       drivers/scsi/lpfc/lpfc_sli.c:17590: warning: Function parameter or member 'vport' not described in 'lpfc_fc_frame_add'
       drivers/scsi/lpfc/lpfc_sli.c:17817: warning: Function parameter or member 'vport' not described in 'lpfc_sli4_seq_abort_rsp'
       drivers/scsi/lpfc/lpfc_sli.c:17817: warning: Function parameter or member 'aborted' not described in 'lpfc_sli4_seq_abort_rsp'
       drivers/scsi/lpfc/lpfc_sli.c:17817: warning: Excess function parameter 'phba' description in 'lpfc_sli4_seq_abort_rsp'
       drivers/scsi/lpfc/lpfc_sli.c:18060: warning: Function parameter or member 'seq_dmabuf' not described in 'lpfc_prep_seq'
       drivers/scsi/lpfc/lpfc_sli.c:18060: warning: Excess function parameter 'dmabuf' description in 'lpfc_prep_seq'
       drivers/scsi/lpfc/lpfc_sli.c:18332: warning: Function parameter or member 'dmabuf' not described in 'lpfc_sli4_handle_received_buffer'
       drivers/scsi/lpfc/lpfc_sli.c:18655: warning: Function parameter or member 'rpi' not described in '__lpfc_sli4_free_rpi'
       drivers/scsi/lpfc/lpfc_sli.c:18683: warning: Function parameter or member 'rpi' not described in 'lpfc_sli4_free_rpi'
       drivers/scsi/lpfc/lpfc_sli.c:18714: warning: Function parameter or member 'ndlp' not described in 'lpfc_sli4_resume_rpi'
       drivers/scsi/lpfc/lpfc_sli.c:18714: warning: Function parameter or member 'cmpl' not described in 'lpfc_sli4_resume_rpi'
       drivers/scsi/lpfc/lpfc_sli.c:18714: warning: Function parameter or member 'arg' not described in 'lpfc_sli4_resume_rpi'
       drivers/scsi/lpfc/lpfc_sli.c:18714: warning: Excess function parameter 'phba' description in 'lpfc_sli4_resume_rpi'
       drivers/scsi/lpfc/lpfc_sli.c:19103: warning: Function parameter or member 'phba' not described in 'lpfc_check_next_fcf_pri_level'
       drivers/scsi/lpfc/lpfc_sli.c:19266: warning: Function parameter or member 'fcf_index' not described in 'lpfc_sli4_fcf_rr_index_set'
       drivers/scsi/lpfc/lpfc_sli.c:19295: warning: Function parameter or member 'fcf_index' not described in 'lpfc_sli4_fcf_rr_index_clear'
       drivers/scsi/lpfc/lpfc_sli.c:19331: warning: Function parameter or member 'mbox' not described in 'lpfc_mbx_cmpl_redisc_fcf_table'
       drivers/scsi/lpfc/lpfc_sli.c:20027: warning: Function parameter or member 'pwqeq' not described in 'lpfc_wqe_bpl2sgl'
       drivers/scsi/lpfc/lpfc_sli.c:20027: warning: Excess function parameter 'pwqe' description in 'lpfc_wqe_bpl2sgl'
       drivers/scsi/lpfc/lpfc_sli.c:20141: warning: Function parameter or member 'qp' not described in 'lpfc_sli4_issue_wqe'
       drivers/scsi/lpfc/lpfc_sli.c:20141: warning: Excess function parameter 'ring_number' description in 'lpfc_sli4_issue_wqe'
       drivers/scsi/lpfc/lpfc_sli.c:20434: warning: Function parameter or member 'qp' not described in '_lpfc_move_xri_pbl_to_pvt'
       drivers/scsi/lpfc/lpfc_sli.c:20552: warning: Function parameter or member 'hwqid' not described in 'lpfc_keep_pvt_pool_above_lowwm'
       drivers/scsi/lpfc/lpfc_sli.c:20552: warning: Excess function parameter 'qp' description in 'lpfc_keep_pvt_pool_above_lowwm'
       drivers/scsi/lpfc/lpfc_sli.c:20682: warning: Function parameter or member 'qp' not described in 'lpfc_get_io_buf_from_private_pool'
      
      Link: https://lore.kernel.org/r/20200721164148.2617584-24-lee.jones@linaro.org
      Cc: James Smart <james.smart@broadcom.com>
      Cc: Dick Kennedy <dick.kennedy@broadcom.com>
      Cc: Sumit Semwal <sumit.semwal@linaro.org>
      Cc: "Christian König" <christian.koenig@amd.com>
      Cc: linux-media@vger.kernel.org
      Cc: dri-devel@lists.freedesktop.org
      Cc: linaro-mm-sig@lists.linaro.org
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      7af29d45
    • Lee Jones's avatar
      scsi: qla4xxx: Fix incorrectly named function parameter · 67b8b93a
      Lee Jones authored
      Fixes the following W=1 kernel build warning(s):
      
      from  drivers/scsi/qla4xxx/ql4_iocb.c:8:
       drivers/scsi/qla4xxx/ql4_iocb.c:87: warning: Function parameter or member 'mrkr_mod' not described in 'qla4xxx_send_marker_iocb'
       drivers/scsi/qla4xxx/ql4_iocb.c:87: warning: Excess function parameter 'marker_type' description in 'qla4xxx_send_marker_iocb'
      
      Link: https://lore.kernel.org/r/20200721164148.2617584-23-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>
      67b8b93a
    • Lee Jones's avatar
      scsi: qla4xxx: Fix-up incorrectly documented parameter · 0d5fea42
      Lee Jones authored
      Also demote incomplete header from kerneldoc.
      
      Fixes the following W=1 kernel build warning(s):
      
      from  drivers/scsi/qla4xxx/ql4_mbx.c:9:
       drivers/scsi/qla4xxx/ql4_mbx.c:53: warning: Excess function parameter 'ret' description in 'qla4xxx_is_intr_poll_mode'
       drivers/scsi/qla4xxx/ql4_mbx.c:832: warning: Function parameter or member 'fw_ddb_entry_dma' not described in 'qla4xxx_get_fwddb_entry'
       drivers/scsi/qla4xxx/ql4_mbx.c:832: warning: Function parameter or member 'conn_err_detail' not described in 'qla4xxx_get_fwddb_entry'
       drivers/scsi/qla4xxx/ql4_mbx.c:832: warning: Function parameter or member 'tcp_source_port_num' not described in 'qla4xxx_get_fwddb_entry'
       drivers/scsi/qla4xxx/ql4_mbx.c:832: warning: Function parameter or member 'connection_id' not described in 'qla4xxx_get_fwddb_entry'
       drivers/scsi/qla4xxx/ql4_mbx.c:1271: warning: Function parameter or member 'ddb_entry' not described in 'qla4xxx_reset_target'
       drivers/scsi/qla4xxx/ql4_mbx.c:1271: warning: Excess function parameter 'db_entry' description in 'qla4xxx_reset_target'
       drivers/scsi/qla4xxx/ql4_mbx.c:1271: warning: Excess function parameter 'un_entry' description in 'qla4xxx_reset_target'
      
      Link: https://lore.kernel.org/r/20200721164148.2617584-22-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>
      0d5fea42
    • Lee Jones's avatar
      scsi: lpfc: Remove unused variable 'pg_addr' · 3c1311ad
      Lee Jones authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/lpfc/lpfc_sli.c: In function ‘lpfc_wq_create’:
       drivers/scsi/lpfc/lpfc_sli.c:15810:16: warning: variable ‘pg_addr’ set but not used [-Wunused-but-set-variable]
       15810 | unsigned long pg_addr;
       | ^~~~~~~
      
      Link: https://lore.kernel.org/r/20200721164148.2617584-21-lee.jones@linaro.org
      Cc: James Smart <james.smart@broadcom.com>
      Cc: Dick Kennedy <dick.kennedy@broadcom.com>
      Cc: Sumit Semwal <sumit.semwal@linaro.org>
      Cc: "Christian König" <christian.koenig@amd.com>
      Cc: linux-media@vger.kernel.org
      Cc: dri-devel@lists.freedesktop.org
      Cc: linaro-mm-sig@lists.linaro.org
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      3c1311ad
    • Lee Jones's avatar
      scsi: qla4xxx: Move 'qla4_82xx_reg_tbl' to the only place its used · f30554c2
      Lee Jones authored
      Fixes the following W=1 kernel build warning(s):
      
       In file included from drivers/scsi/qla4xxx/ql4_def.h:43,
       from drivers/scsi/qla4xxx/ql4_mbx.c:9:
       drivers/scsi/qla4xxx/ql4_nx.h:602:23: warning: ‘qla4_82xx_reg_tbl’ defined but not used [-Wunused-const-variable=]
       602 | static const uint32_t qla4_82xx_reg_tbl[] = {
       | ^~~~~~~~~~~~~~~~~
       [...]
       NB: Lots of these
      
      Link: https://lore.kernel.org/r/20200721164148.2617584-20-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>
      f30554c2
    • Lee Jones's avatar
      scsi: pm8001: Remove a bunch of set but unused variables · 685f9479
      Lee Jones authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/qla4xxx/ql4_os.c: In function ‘qla4xxx_eh_cmd_timed_out’:
       drivers/scsi/qla4xxx/ql4_os.c:1865:24: warning: variable ‘sess’ set but not used [-Wunused-but-set-variable]
       1865 | struct iscsi_session *sess;
       | ^~~~
       drivers/scsi/qla4xxx/ql4_os.c: In function ‘qla4xxx_session_create’:
       drivers/scsi/qla4xxx/ql4_os.c:3079:19: warning: variable ‘dst_addr’ set but not used [-Wunused-but-set-variable]
       3079 | struct sockaddr *dst_addr;
       | ^~~~~~~~
       drivers/scsi/qla4xxx/ql4_os.c: In function ‘qla4_8xxx_iospace_config’:
       drivers/scsi/qla4xxx/ql4_os.c:5512:44: warning: variable ‘db_len’ set but not used [-Wunused-but-set-variable]
       5512 | unsigned long mem_base, mem_len, db_base, db_len;
       | ^~~~~~
       drivers/scsi/qla4xxx/ql4_os.c:5512:35: warning: variable ‘db_base’ set but not used [-Wunused-but-set-variable]
       5512 | unsigned long mem_base, mem_len, db_base, db_len;
       | ^~~~~~~
       drivers/scsi/qla4xxx/ql4_os.c: In function ‘qla4xxx_get_param_ddb’:
       drivers/scsi/qla4xxx/ql4_os.c:6269:24: warning: variable ‘ha’ set but not used [-Wunused-but-set-variable]
       6269 | struct scsi_qla_host *ha;
       | ^~
      
      Link: https://lore.kernel.org/r/20200721164148.2617584-19-lee.jones@linaro.org
      Cc: Jack 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>
      685f9479
    • Lee Jones's avatar
      scsi: pm8001: Fix some function documentation issues · 6ad4a517
      Lee Jones authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/pm8001/pm80xx_hwi.c:918: warning: Function parameter or member 'number' not described in 'update_inbnd_queue_table'
       drivers/scsi/pm8001/pm80xx_hwi.c:954: warning: Function parameter or member 'number' not described in 'update_outbnd_queue_table'
       drivers/scsi/pm8001/pm80xx_hwi.c:1717: warning: Function parameter or member 'vec' not described in 'pm80xx_chip_interrupt_enable'
       drivers/scsi/pm8001/pm80xx_hwi.c:1735: warning: Function parameter or member 'vec' not described in 'pm80xx_chip_interrupt_disable'
       drivers/scsi/pm8001/pm80xx_hwi.c:4830: warning: Excess function parameter 'num' description in 'pm80xx_chip_phy_start_req'
       drivers/scsi/pm8001/pm80xx_hwi.c:4872: warning: Excess function parameter 'num' description in 'pm80xx_chip_phy_stop_req'
       drivers/scsi/pm8001/pm80xx_hwi.c:4892: warning: Function parameter or member 'pm8001_ha' not described in 'pm80xx_chip_reg_dev_req'
       drivers/scsi/pm8001/pm80xx_hwi.c:4892: warning: Function parameter or member 'pm8001_dev' not described in 'pm80xx_chip_reg_dev_req'
       drivers/scsi/pm8001/pm80xx_hwi.c:4892: warning: Function parameter or member 'flag' not described in 'pm80xx_chip_reg_dev_req'
       drivers/scsi/pm8001/pm80xx_hwi.c:4966: warning: Function parameter or member 'phyId' not described in 'pm80xx_chip_phy_ctl_req'
       drivers/scsi/pm8001/pm80xx_hwi.c:4966: warning: Function parameter or member 'phy_op' not described in 'pm80xx_chip_phy_ctl_req'
       drivers/scsi/pm8001/pm80xx_hwi.c:4966: warning: Excess function parameter 'num' description in 'pm80xx_chip_phy_ctl_req'
       drivers/scsi/pm8001/pm80xx_hwi.c:4966: warning: Excess function parameter 'phy_id' description in 'pm80xx_chip_phy_ctl_req'
       drivers/scsi/pm8001/pm80xx_hwi.c:5006: warning: Function parameter or member 'vec' not described in 'pm80xx_chip_isr'
       drivers/scsi/pm8001/pm80xx_hwi.c:5006: warning: Excess function parameter 'irq' description in 'pm80xx_chip_isr'
       drivers/scsi/pm8001/pm80xx_hwi.c:5006: warning: Excess function parameter 'stat' description in 'pm80xx_chip_isr'
      
      Link: https://lore.kernel.org/r/20200721164148.2617584-18-lee.jones@linaro.org
      Cc: Jack 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>
      6ad4a517
    • Lee Jones's avatar
      scsi: pm8001: Fix a bunch of kerneldoc issues · 083645ba
      Lee Jones authored
      Provide lots of missing descriptions, remove some superfluous ones
      (probably due to docrot) and demote one header which does not provide many
      descriptions, and the ones it does provide are incorrect.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/pm8001/pm8001_hwi.c:339: warning: Function parameter or member 'number' not described in 'update_inbnd_queue_table'
       drivers/scsi/pm8001/pm8001_hwi.c:360: warning: Function parameter or member 'number' not described in 'update_outbnd_queue_table'
       drivers/scsi/pm8001/pm8001_hwi.c:480: warning: Function parameter or member 'interval' not described in 'mpi_set_open_retry_interval_reg'
       drivers/scsi/pm8001/pm8001_hwi.c:1238: warning: Function parameter or member 'int_vec_idx' not described in 'pm8001_chip_msix_interrupt_enable'
       drivers/scsi/pm8001/pm8001_hwi.c:1256: warning: Function parameter or member 'int_vec_idx' not described in 'pm8001_chip_msix_interrupt_disable'
       drivers/scsi/pm8001/pm8001_hwi.c:1270: warning: Function parameter or member 'vec' not described in 'pm8001_chip_interrupt_enable'
       drivers/scsi/pm8001/pm8001_hwi.c:1284: warning: Function parameter or member 'vec' not described in 'pm8001_chip_interrupt_disable'
       drivers/scsi/pm8001/pm8001_hwi.c:4508: warning: Excess function parameter 'num' description in 'pm8001_chip_phy_start_req'
       drivers/scsi/pm8001/pm8001_hwi.c:4544: warning: Excess function parameter 'num' description in 'pm8001_chip_phy_stop_req'
       drivers/scsi/pm8001/pm8001_hwi.c:4564: warning: Function parameter or member 'pm8001_ha' not described in 'pm8001_chip_reg_dev_req'
       drivers/scsi/pm8001/pm8001_hwi.c:4564: warning: Function parameter or member 'pm8001_dev' not described in 'pm8001_chip_reg_dev_req'
       drivers/scsi/pm8001/pm8001_hwi.c:4564: warning: Function parameter or member 'flag' not described in 'pm8001_chip_reg_dev_req'
       drivers/scsi/pm8001/pm8001_hwi.c:4624: warning: Function parameter or member 'pm8001_ha' not described in 'pm8001_chip_dereg_dev_req'
       drivers/scsi/pm8001/pm8001_hwi.c:4624: warning: Function parameter or member 'device_id' not described in 'pm8001_chip_dereg_dev_req'
       drivers/scsi/pm8001/pm8001_hwi.c:4650: warning: Function parameter or member 'phyId' not described in 'pm8001_chip_phy_ctl_req'
       drivers/scsi/pm8001/pm8001_hwi.c:4650: warning: Function parameter or member 'phy_op' not described in 'pm8001_chip_phy_ctl_req'
       drivers/scsi/pm8001/pm8001_hwi.c:4650: warning: Excess function parameter 'num' description in 'pm8001_chip_phy_ctl_req'
       drivers/scsi/pm8001/pm8001_hwi.c:4650: warning: Excess function parameter 'phy_id' description in 'pm8001_chip_phy_ctl_req'
       drivers/scsi/pm8001/pm8001_hwi.c:4687: warning: Function parameter or member 'vec' not described in 'pm8001_chip_isr'
       drivers/scsi/pm8001/pm8001_hwi.c:4687: warning: Excess function parameter 'irq' description in 'pm8001_chip_isr'
       drivers/scsi/pm8001/pm8001_hwi.c:4687: warning: Excess function parameter 'stat' description in 'pm8001_chip_isr'
       drivers/scsi/pm8001/pm8001_hwi.c:4727: warning: Function parameter or member 'pm8001_ha' not described in 'pm8001_chip_abort_task'
       drivers/scsi/pm8001/pm8001_hwi.c:4727: warning: Function parameter or member 'pm8001_dev' not described in 'pm8001_chip_abort_task'
       drivers/scsi/pm8001/pm8001_hwi.c:4727: warning: Function parameter or member 'task_tag' not described in 'pm8001_chip_abort_task'
       drivers/scsi/pm8001/pm8001_hwi.c:4727: warning: Function parameter or member 'cmd_tag' not described in 'pm8001_chip_abort_task'
       drivers/scsi/pm8001/pm8001_hwi.c:4727: warning: Excess function parameter 'task' description in 'pm8001_chip_abort_task'
       drivers/scsi/pm8001/pm8001_hwi.c:4966: warning: Function parameter or member 'tag' not described in 'pm8001_chip_fw_flash_update_build'
      
      Link: https://lore.kernel.org/r/20200721164148.2617584-17-lee.jones@linaro.org
      Cc: Jack 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>
      083645ba
    • Lee Jones's avatar
      scsi: aic7xxx: Remove set but unused variables 'targ_info' and 'value' · 0683550b
      Lee Jones authored
      Also remove 'tstate' which became unused after this patch.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/aic7xxx/aic79xx_core.c: In function ‘ahd_handle_seqint’:
       drivers/scsi/aic7xxx/aic79xx_core.c:1907:32: warning: variable ‘targ_info’ set but not used [-Wunused-but-set-variable]
       1907 | struct ahd_initiator_tinfo *targ_info;
       | ^~~~~~~~~
       drivers/scsi/pm8001/pm8001_hwi.c: In function ‘mpi_set_phys_g3_with_ssc’:
       drivers/scsi/pm8001/pm8001_hwi.c:413:6: warning: variable ‘value’ set but not used [-Wunused-but-set-variable]
       413 | u32 value, offset, i;
       | ^~~~~
      
      Link: https://lore.kernel.org/r/20200721164148.2617584-16-lee.jones@linaro.org
      Cc: Hannes Reinecke <hare@suse.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      0683550b
    • Lee Jones's avatar
      scsi: qla4xxx: Move 'qla4_83xx_reg_tbl' from shared header · 3ca2c203
      Lee Jones authored
      'qla4_83xx_reg_tbl' is only used in 'drivers/scsi/qla4xxx/ql4_os.c', move
      it there.
      
      Fixes the following W=1 kernel build warning(s):
      
       In file included from drivers/scsi/qla4xxx/ql4_def.h:46,
       from drivers/scsi/qla4xxx/ql4_init.c:9:
       At top level:
       drivers/scsi/qla4xxx/ql4_83xx.h:90:23: warning: ‘qla4_83xx_reg_tbl’ defined but not used [-Wunused-const-variable=]
       90 | static const uint32_t qla4_83xx_reg_tbl[] = {
       | ^~~~~~~~~~~~~~~~~
       In file included from drivers/scsi/qla4xxx/ql4_def.h:46,
       from drivers/scsi/qla4xxx/ql4_mbx.c:9:
       drivers/scsi/qla4xxx/ql4_83xx.h:90:23: warning: ‘qla4_83xx_reg_tbl’ defined but not used [-Wunused-const-variable=]
       90 | static const uint32_t qla4_83xx_reg_tbl[] = {
       | ^~~~~~~~~~~~~~~~~
       [...]
       NB: Lots of these - snipped for brevity.
      
      Link: https://lore.kernel.org/r/20200721164148.2617584-15-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>
      3ca2c203
    • Lee Jones's avatar
      scsi: qla4xxx: Check return value of pci_set_mwi() · b8544600
      Lee Jones authored
      pci_set_mwi() has 'warn_unused_result' so the result should be checked.
      
      Fixes the following W=1 kernel build warning(s):
      
       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]
      
      And if 'status' is removed:
      
       drivers/scsi/qla4xxx/ql4_init.c: In function ‘qla4xxx_pci_config’:
       drivers/scsi/qla4xxx/ql4_init.c:666:2: warning: ignoring return value of ‘pci_set_mwi’, declared with attribute warn_unused_result [-Wunused-result]
       666 | pci_set_mwi(ha->pdev);
       | ^~~~~~~~~~~~~~~~~~~~~
      
      Link: https://lore.kernel.org/r/20200721164148.2617584-14-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>
      b8544600
    • Lee Jones's avatar
      scsi: qla4xxx: Remove set but unused variable 'func_number' · 4c2de9c5
      Lee Jones authored
      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]
      
      Link: https://lore.kernel.org/r/20200721164148.2617584-13-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>
      4c2de9c5
    • Lee Jones's avatar
      scsi: pm8001: Add descriptions for unused 'attr' function parameters · cd2eebfd
      Lee Jones authored
      Clean-up some whitespace issues too whilst we're here.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/pm8001/pm8001_ctl.c:102: warning: Function parameter or member 'attr' not described in 'pm8001_ctl_fw_version_show'
       drivers/scsi/pm8001/pm8001_ctl.c:331: warning: Function parameter or member 'attr' not described in 'pm8001_ctl_logging_level_show'
       drivers/scsi/pm8001/pm8001_ctl.c:400: warning: Function parameter or member 'attr' not described in 'pm8001_ctl_ib_queue_log_show'
       drivers/scsi/pm8001/pm8001_ctl.c:433: warning: Function parameter or member 'attr' not described in 'pm8001_ctl_ob_queue_log_show'
       drivers/scsi/pm8001/pm8001_ctl.c:464: warning: Function parameter or member 'attr' not described in 'pm8001_ctl_bios_version_show'
       drivers/scsi/pm8001/pm8001_ctl.c:623: warning: Function parameter or member 'attr' not described in 'pm8001_ctl_gsm_log_show'
      
      Link: https://lore.kernel.org/r/20200721164148.2617584-12-lee.jones@linaro.org
      Cc: Jack 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>
      cd2eebfd
    • Lee Jones's avatar
      scsi: pm8001: Move function header and supply some missing parameter descriptions · a0cf5ce4
      Lee Jones authored
      Functions must follow directly after the header that documents them.
      
      Fixes the following W=1 kernel build warning(s):
      
      from  drivers/scsi/pm8001/pm8001_sas.c:41:
      inlined from ‘pm8001_issue_ssp_tmf’ at  drivers/scsi/pm8001/pm8001_sas.c:919:2:
       drivers/scsi/pm8001/pm8001_sas.c:379: warning: Function parameter or member 'pm8001_dev' not described in 'DEV_IS_GONE'
       drivers/scsi/pm8001/pm8001_sas.c:379: warning: Excess function parameter 'task' description in 'DEV_IS_GONE'
       drivers/scsi/pm8001/pm8001_sas.c:379: warning: Excess function parameter 'num' description in 'DEV_IS_GONE'
       drivers/scsi/pm8001/pm8001_sas.c:379: warning: Excess function parameter 'gfp_flags' description in 'DEV_IS_GONE'
       drivers/scsi/pm8001/pm8001_sas.c:379: warning: Excess function parameter 'is_tmf' description in 'DEV_IS_GONE'
       drivers/scsi/pm8001/pm8001_sas.c:379: warning: Excess function parameter 'tmf' description in 'DEV_IS_GONE'
       drivers/scsi/pm8001/pm8001_sas.c:583: warning: Function parameter or member 'device_id' not described in 'pm8001_find_dev'
       drivers/scsi/pm8001/pm8001_sas.c:1000: warning: Function parameter or member 'dev' not described in 'pm8001_I_T_nexus_reset'
      
      Link: https://lore.kernel.org/r/20200721164148.2617584-11-lee.jones@linaro.org
      Cc: Jack 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>
      a0cf5ce4
    • Lee Jones's avatar
      scsi: aic94xx: Fix kerneldoc formatting issue with 'task' · 45c21cec
      Lee Jones authored
      Kerneldoc expects attributes/parameters to be in '@*.: ' format.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/aic94xx/aic94xx_tmf.c:685: warning: Function parameter or member 'task' not described in 'asd_query_task'
      
      Link: https://lore.kernel.org/r/20200721164148.2617584-9-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>
      45c21cec
    • Lee Jones's avatar
      scsi: aacraid: Add descriptions for missing parameters · a1368911
      Lee Jones authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/aacraid/src.c:203: warning: Function parameter or member 'p2' not described in 'src_sync_cmd'
       drivers/scsi/aacraid/src.c:203: warning: Function parameter or member 'p3' not described in 'src_sync_cmd'
       drivers/scsi/aacraid/src.c:203: warning: Function parameter or member 'p4' not described in 'src_sync_cmd'
       drivers/scsi/aacraid/src.c:203: warning: Function parameter or member 'p5' not described in 'src_sync_cmd'
       drivers/scsi/aacraid/src.c:203: warning: Function parameter or member 'p6' not described in 'src_sync_cmd'
       drivers/scsi/aacraid/src.c:203: warning: Function parameter or member 'status' not described in 'src_sync_cmd'
       drivers/scsi/aacraid/src.c:203: warning: Function parameter or member 'r1' not described in 'src_sync_cmd'
       drivers/scsi/aacraid/src.c:203: warning: Function parameter or member 'r2' not described in 'src_sync_cmd'
       drivers/scsi/aacraid/src.c:203: warning: Function parameter or member 'r3' not described in 'src_sync_cmd'
       drivers/scsi/aacraid/src.c:203: warning: Function parameter or member 'r4' not described in 'src_sync_cmd'
       drivers/scsi/aacraid/src.c:203: warning: Excess function parameter 'ret' description in 'src_sync_cmd'
       drivers/scsi/aacraid/src.c:609: warning: Function parameter or member 'dev' not described in 'aac_src_ioremap'
       drivers/scsi/aacraid/src.c:639: warning: Function parameter or member 'dev' not described in 'aac_srcv_ioremap'
      
      Link: https://lore.kernel.org/r/20200721164148.2617584-8-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>
      a1368911
    • Lee Jones's avatar
      scsi: aic94xx: Fix a couple of kerneldoc formatting issues · ee37a6e6
      Lee Jones authored
      Kerneldoc expects attributes/parameters to be in '@*.: ' format.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/aic94xx/aic94xx_dev.c:246: warning: Function parameter or member 'dev' not described in 'asd_init_sata_pm_port_ddb'
       drivers/scsi/aic94xx/aic94xx_dev.c:290: warning: Function parameter or member 'dev' not described in 'asd_init_sata_pm_ddb'
      
      Link: https://lore.kernel.org/r/20200721164148.2617584-7-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>
      ee37a6e6
    • Lee Jones's avatar
      scsi: aacraid: Add missing description for 'dev' · 5d9d46b9
      Lee Jones authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/aacraid/nark.c:31: warning: Function parameter or member 'dev' not described in 'aac_nark_ioremap'
      
      Link: https://lore.kernel.org/r/20200721164148.2617584-6-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>
      5d9d46b9
    • Lee Jones's avatar
      scsi: aacraid: Add missing description for 'dev' · 3c4538f8
      Lee Jones authored
      And clean-up a couple of whitespace issues while we're here.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/aacraid/rkt.c:64: warning: Function parameter or member 'dev' not described in 'aac_rkt_ioremap'
      
      Link: https://lore.kernel.org/r/20200721164148.2617584-5-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>
      3c4538f8
    • Lee Jones's avatar
      scsi: aacraid: Add descriptions for missing parameters · baef3689
      Lee Jones authored
      Also clean-up some white space issues while we're here.
      
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/aacraid/sa.c:147: warning: Function parameter or member 'p2' not described in 'sa_sync_cmd'
       drivers/scsi/aacraid/sa.c:147: warning: Function parameter or member 'p3' not described in 'sa_sync_cmd'
       drivers/scsi/aacraid/sa.c:147: warning: Function parameter or member 'p4' not described in 'sa_sync_cmd'
       drivers/scsi/aacraid/sa.c:147: warning: Function parameter or member 'p5' not described in 'sa_sync_cmd'
       drivers/scsi/aacraid/sa.c:147: warning: Function parameter or member 'p6' not described in 'sa_sync_cmd'
       drivers/scsi/aacraid/sa.c:147: warning: Function parameter or member 'r1' not described in 'sa_sync_cmd'
       drivers/scsi/aacraid/sa.c:147: warning: Function parameter or member 'r2' not described in 'sa_sync_cmd'
       drivers/scsi/aacraid/sa.c:147: warning: Function parameter or member 'r3' not described in 'sa_sync_cmd'
       drivers/scsi/aacraid/sa.c:147: warning: Function parameter or member 'r4' not described in 'sa_sync_cmd'
       drivers/scsi/aacraid/sa.c:290: warning: Function parameter or member 'dev' not described in 'aac_sa_ioremap'
      
      Link: https://lore.kernel.org/r/20200721164148.2617584-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>
      baef3689
    • Lee Jones's avatar
      scsi: aic7xxx: aic79xx_core: Remove a bunch of unused variables · 84dc1a1d
      Lee Jones authored
      Fixes the following W=1 kernel build warning(s):
      
       drivers/scsi/aic7xxx/aic79xx_core.c: In function ‘ahd_dump_sglist’:
       drivers/scsi/aic7xxx/aic79xx_core.c:1738:14: warning: variable ‘len’ set but not used [-Wunused-but-set-variable]
       1738 | uint32_t len;
       | ^~~
       drivers/scsi/aic7xxx/aic79xx_core.c: In function ‘ahd_handle_seqint’:
       drivers/scsi/aic7xxx/aic79xx_core.c:1911:26: warning: variable ‘tinfo’ set but not used [-Wunused-but-set-variable]
       1911 | struct ahd_transinfo *tinfo;
       | ^~~~~
       drivers/scsi/aic7xxx/aic79xx_core.c: In function ‘ahd_handle_transmission_error’:
       drivers/scsi/aic7xxx/aic79xx_core.c:2672:8: warning: variable ‘lqistat2’ set but not used [-Wunused-but-set-variable]
       2672 | u_int lqistat2;
       | ^~~~~~~~
       drivers/scsi/aic7xxx/aic79xx_core.c: In function ‘ahd_update_pending_scbs’:
       drivers/scsi/aic7xxx/aic79xx_core.c:4221:31: warning: variable ‘tinfo’ set but not used [-Wunused-but-set-variable]
       4221 | struct ahd_initiator_tinfo *tinfo;
       | ^~~~~
      
      Link: https://lore.kernel.org/r/20200721164148.2617584-3-lee.jones@linaro.org
      Cc: Hannes Reinecke <hare@suse.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      84dc1a1d
    • Lee Jones's avatar
      scsi: arcmsr: arcmsr_hba: Remove statement with no effect · 7c7ef829
      Lee Jones authored
      According to LKP, commit 18bc435e ("scsi: arcmsr: Remove some set but
      unused variables") can be furthered to remove the entire statement and not
      just the unused variable read into.
      
      Snipped LKP report:
      
       config: x86_64-randconfig-m001-20200719
       compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
      
       New smatch warnings:
        drivers/scsi/arcmsr/arcmsr_hba.c:1490 arcmsr_done4abort_postqueue() warn: statement has no effect 8
        drivers/scsi/arcmsr/arcmsr_hba.c:2459 arcmsr_hbaD_postqueue_isr() warn: statement has no effect 8
        drivers/scsi/arcmsr/arcmsr_hba.c:3526 arcmsr_hbaD_polling_ccbdone() warn: statement has no effect 8
      
       1a4f550a Nick Cheng  2007-09-13  1401  static void arcmsr_done4abort_postqueue(struct AdapterControlBlock *acb)
       1a4f550a Nick Cheng  2007-09-13  1402  {
       [...]
       18bc435e Lee Jones   2020-07-13 @1490                             pmu->done_qbuffer[doneq_index & 0xFFF].addressHigh;
                                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
       Delete this line.
       [...]
      
      Link: https://lore.kernel.org/r/20200721164148.2617584-2-lee.jones@linaro.org
      Cc: support@areca.com.tw
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      7c7ef829
    • Wang Hai's avatar
      scsi: dpt_i2o: Remove superfluous memset() · 003015b8
      Wang Hai authored
      Fixes coccicheck warning:
      
      ./drivers/scsi/dpt_i2o.c:3070:11-29: WARNING:
       dma_alloc_coherent use in sys_tbl already zeroes out memory, so memset is not needed
      ./drivers/scsi/dpt_i2o.c:2780:10-28: WARNING:
       dma_alloc_coherent use in status already zeroes out memory, so memset is not needed
      ./drivers/scsi/dpt_i2o.c:2834:20-38: WARNING:
       dma_alloc_coherent use in pHba -> reply_pool already zeroes out memory, so memset is not needed
      ./drivers/scsi/dpt_i2o.c:1328:10-28: WARNING:
       dma_alloc_coherent use in status already zeroes out memory, so memset is not needed
      
      Link: https://lore.kernel.org/r/20200718123224.1202-1-wanghai38@huawei.comReported-by: default avatarHulk Robot <hulkci@huawei.com>
      Signed-off-by: default avatarWang Hai <wanghai38@huawei.com>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      003015b8
    • Ye Bin's avatar
      scsi: core: Delete unnecessary buffer allocation for every loop iteration · 811f3947
      Ye Bin authored
      No need to allocate buffer every loop iteration. Allocate buffer once and
      reuse it.
      
      Link: https://lore.kernel.org/r/20200717090921.29243-2-yebin10@huawei.comSigned-off-by: default avatarYe Bin <yebin10@huawei.com>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      811f3947
    • Ye Bin's avatar
      scsi: core: Add missing scsi_device_put() in scsi_host_block() · f30785db
      Ye Bin authored
      The scsi_host_block() case was missing in commit 4dea170f ("scsi: core:
      Fix incorrect usage of shost_for_each_device").
      
      Link: https://lore.kernel.org/r/20200717090921.29243-1-yebin10@huawei.com
      Fixes: 2bb95584 ("scsi: core: add scsi_host_(block,unblock) helper function")
      Fixes: 4dea170f ("scsi: core: Fix incorrect usage of shost_for_each_device")
      Signed-off-by: default avatarYe Bin <yebin10@huawei.com>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      f30785db
    • Hannes Reinecke's avatar
      scsi: core: Only return started requests from scsi_host_find_tag() · e73a5e8e
      Hannes Reinecke authored
      scsi_host_find_tag() is used by the drivers to return a scsi command based
      on the command tag. Typically it's used from the interrupt handler to fetch
      the command associated with a value returned from hardware. Some drivers
      like fnic or qla4xxx, however, also use it also to traverse outstanding
      commands.  With the current implementation scsi_host_find_tag() will return
      commands even if they are not started (i.e. passed to the driver).  This
      will result in random errors with those drivers.  With this patch
      scsi_host_find_tag() will only return 'started' commands (i.e. commands
      which have been passed to the drivers) thus avoiding the above issue.  The
      other use cases will be unaffected as the interrupt handler naturally will
      only ever return 'started' requests.
      
      Link: https://lore.kernel.org/r/20200622063022.67891-1-hare@suse.deSigned-off-by: default avatarHannes Reinecke <hare@suse.de>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      e73a5e8e
    • Miaohe Lin's avatar
      e2289db1
    • Miaohe Lin's avatar
      scsi: fnic: Use eth_broadcast_addr() to assign broadcast address · 51d263cb
      Miaohe Lin authored
      Use eth_broadcast_addr() to assign broadcast address insetad of memset().
      
      Link: https://lore.kernel.org/r/1595233498-13628-1-git-send-email-linmiaohe@huawei.comSigned-off-by: default avatarMiaohe Lin <linmiaohe@huawei.com>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      51d263cb
    • Colin Ian King's avatar
      scsi: isci: Remove redundant initialization of variable 'status' · 584d902e
      Colin Ian King authored
      The variable 'status' is being initialized with a value that is never read
      and it is being updated later with a new value.  The initialization is
      redundant and can be removed.
      
      Link: https://lore.kernel.org/r/20200723142614.991416-1-colin.king@canonical.comSigned-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      Addresses-Coverity: ("Unused value")
      584d902e
    • Varun Prakash's avatar
    • Finn Thain's avatar
      scsi: mesh: Fix panic after host or bus reset · edd7dd22
      Finn Thain authored
      Booting Linux with a Conner CP3200 drive attached to the MESH SCSI bus
      results in EH measures and a panic:
      
      [   25.499838] mesh: configured for synchronous 5 MB/s
      [   25.787154] mesh: performing initial bus reset...
      [   29.867115] scsi host0: MESH
      [   29.929527] mesh: target 0 synchronous at 3.6 MB/s
      [   29.998763] scsi 0:0:0:0: Direct-Access     CONNER   CP3200-200mb-3.5 4040 PQ: 0 ANSI: 1 CCS
      [   31.989975] sd 0:0:0:0: [sda] 415872 512-byte logical blocks: (213 MB/203 MiB)
      [   32.070975] sd 0:0:0:0: [sda] Write Protect is off
      [   32.137197] sd 0:0:0:0: [sda] Mode Sense: 5b 00 00 08
      [   32.209661] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
      [   32.332708]  sda: [mac] sda1 sda2 sda3
      [   32.417733] sd 0:0:0:0: [sda] Attached SCSI disk
      ... snip ...
      [   76.687067] mesh_abort((ptrval))
      [   76.743606] mesh: state at (ptrval), regs at (ptrval), dma at (ptrval)
      [   76.810798]     ct=6000 seq=86 bs=4017 fc= 0 exc= 0 err= 0 im= 7 int= 0 sp=85
      [   76.880720]     dma stat=84e0 cmdptr=1f73d000
      [   76.941387]     phase=4 msgphase=0 conn_tgt=0 data_ptr=24576
      [   77.005567]     dma_st=1 dma_ct=0 n_msgout=0
      [   77.065456]     target 0: req=(ptrval) goes_out=0 saved_ptr=0
      [   77.130512] mesh_abort((ptrval))
      [   77.187670] mesh: state at (ptrval), regs at (ptrval), dma at (ptrval)
      [   77.255594]     ct=6000 seq=86 bs=4017 fc= 0 exc= 0 err= 0 im= 7 int= 0 sp=85
      [   77.325778]     dma stat=84e0 cmdptr=1f73d000
      [   77.387239]     phase=4 msgphase=0 conn_tgt=0 data_ptr=24576
      [   77.453665]     dma_st=1 dma_ct=0 n_msgout=0
      [   77.515900]     target 0: req=(ptrval) goes_out=0 saved_ptr=0
      [   77.582902] mesh_host_reset
      [   88.187083] Kernel panic - not syncing: mesh: double DMA start !
      [   88.254510] CPU: 0 PID: 358 Comm: scsi_eh_0 Not tainted 5.6.13-pmac #1
      [   88.323302] Call Trace:
      [   88.378854] [e16ddc58] [c0027080] panic+0x13c/0x308 (unreliable)
      [   88.446221] [e16ddcb8] [c02b2478] mesh_start.part.12+0x130/0x414
      [   88.513298] [e16ddcf8] [c02b2fc8] mesh_queue+0x54/0x70
      [   88.577097] [e16ddd18] [c02a1848] scsi_send_eh_cmnd+0x374/0x384
      [   88.643476] [e16dddc8] [c02a1938] scsi_eh_tur+0x5c/0xb8
      [   88.707878] [e16dddf8] [c02a1ab8] scsi_eh_test_devices+0x124/0x178
      [   88.775663] [e16dde28] [c02a2094] scsi_eh_ready_devs+0x588/0x8a8
      [   88.843124] [e16dde98] [c02a31d8] scsi_error_handler+0x344/0x520
      [   88.910697] [e16ddf08] [c00409c8] kthread+0xe4/0xe8
      [   88.975166] [e16ddf38] [c000f234] ret_from_kernel_thread+0x14/0x1c
      [   89.044112] Rebooting in 180 seconds..
      
      In theory, a panic can happen after a bus or host reset with dma_started
      flag set. Fix this by halting the DMA before reinitializing the host.
      Don't assume that ms->current_req is set when halt_dma() is invoked as it
      may not hold for bus or host reset.
      
      BTW, this particular Conner drive can be made to work by inhibiting
      disconnect/reselect with 'mesh.resel_targets=0'.
      
      Link: https://lore.kernel.org/r/3952bc691e150a7128b29120999b6092071b039a.1595460351.git.fthain@telegraphics.com.au
      Fixes: 1da177e4 ("Linux-2.6.12-rc2")
      Cc: Paul Mackerras <paulus@ozlabs.org>
      Reported-and-tested-by: default avatarStan Johnson <userm57@yahoo.com>
      Signed-off-by: default avatarFinn Thain <fthain@telegraphics.com.au>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      edd7dd22
    • Colin Ian King's avatar
      scsi: libsas: Remove redundant assignment to variable res · 55eb809f
      Colin Ian King authored
      The variable 'res' is being initialized with a value that is never read and
      it is being updated later with a new value. The initialization is redundant
      and can be removed.
      
      Link: https://lore.kernel.org/r/20200722154404.959267-1-colin.king@canonical.comReviewed-by: default avatarJohn Garry <john.garry@huawei.com>
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      Addresses-Coverity: ("Unused value")
      55eb809f
    • Luo Jiaxing's avatar
      scsi: libsas: Check link status in ATA prereset() · 38653379
      Luo Jiaxing authored
      libata currently attempts to reset even if the SATA disk is unplugged.  To
      avoid the meaningless reset of a missing disk, libsas should report offline
      status to libata. libata already provides a .prereset callback for this
      purpose. This is called by ata_eh_reset() and can be used to influence
      whether a reset attempt should be made.
      
      Add sas_ata_preset callback to check status of phy and disk. If the disk is
      already offline or phy is disabled, we return -ENOENT to libata to avoid
      the reset.
      
      Link: https://lore.kernel.org/r/1595408643-63011-3-git-send-email-luojiaxing@huawei.comReviewed-by: default avatarJohn Garry <john.garry@huawei.com>
      Reviewed-by: default avatarJason Yan <yanaijie@huawei.com>
      Signed-off-by: default avatarLuo Jiaxing <luojiaxing@huawei.com>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      38653379
    • Luo Jiaxing's avatar
      scsi: libsas: Remove postreset from sas_sata_ops · 3a243c2c
      Luo Jiaxing authored
      sas_sata_ops uses ata_std_postreset as .postreset callback. However,
      ata_std_postreset() calls sata_scr_read()/sata_scr_write() which need to
      access the ATA SCR register. This register not available in the libsas case
      and the functions always return -EOPNOTSUPP.
      
      Drop the .postreset callback.
      
      Link: https://lore.kernel.org/r/1595408643-63011-2-git-send-email-luojiaxing@huawei.comReviewed-by: default avatarJohn Garry <john.garry@huawei.com>
      Reviewed-by: default avatarJason Yan <yanaijie@huawei.com>
      Signed-off-by: default avatarLuo Jiaxing <luojiaxing@huawei.com>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      3a243c2c
    • Guenter Roeck's avatar
      scsi: lpfc: Add dependency on CPU_FREQ · e3d2bf65
      Guenter Roeck authored
      Since commit 317aeb83 ("scsi: lpfc: Add blk_io_poll support for latency
      improvment"), the lpfc driver depends on CPUFREQ. Without it, builds fail
      with
      
      drivers/scsi/lpfc/lpfc_sli.c: In function 'lpfc_init_idle_stat_hb':
      drivers/scsi/lpfc/lpfc_sli.c:7329:26: error:
      	implicit declaration of function 'get_cpu_idle_time'
      
      Add the missing dependency.
      
      Link: https://lore.kernel.org/r/20200722023027.36866-1-linux@roeck-us.net
      Fixes: 317aeb83 ("scsi: lpfc: Add blk_io_poll support for latency improvment")
      Cc: Dick Kennedy <dick.kennedy@broadcom.com>
      Cc: James Smart <jsmart2021@gmail.com>
      Reviewed-by: default avatarJames Smart <james.smart@broadcom.com>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      e3d2bf65