1. 28 May, 2019 2 commits
    • Masahiro Yamada's avatar
      s390: mark __cpacf_check_opcode() and cpacf_query_func() as __always_inline · d83623c5
      Masahiro Yamada authored
      Commit e60fb8bf ("s390/cpacf: mark scpacf_query() as __always_inline")
      was not enough to make sure to meet the 'i' (immediate) constraint for the
      asm operands.
      
      With CONFIG_OPTIMIZE_INLINING enabled, Laura Abbott reported error
      with gcc 9.1.1:
      
        In file included from arch/s390/crypto/prng.c:29:
        ./arch/s390/include/asm/cpacf.h: In function 'cpacf_query_func':
        ./arch/s390/include/asm/cpacf.h:170:2: warning: asm operand 3 probably doesn't match constraints
          170 |  asm volatile(
              |  ^~~
        ./arch/s390/include/asm/cpacf.h:170:2: error: impossible constraint in 'asm'
      
      Add more __always_inline to force inlining.
      
      Fixes: 9012d011 ("compiler: allow all arches to enable CONFIG_OPTIMIZE_INLINING")
      Reported-by: default avatarLaura Abbott <labbott@redhat.com>
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      d83623c5
    • Masahiro Yamada's avatar
      s390: add unreachable() to dump_fault_info() to fix -Wmaybe-uninitialized · bf2f1eee
      Masahiro Yamada authored
      When CONFIG_OPTIMIZE_INLINING is enabled for s390, I see this warning:
      
      arch/s390/mm/fault.c:127:15: warning: 'asce' may be used uninitialized in this function [-Wmaybe-uninitialized]
        switch (asce & _ASCE_TYPE_MASK) {
      arch/s390/mm/fault.c:177:16: note: 'asce' was declared here
        unsigned long asce;
                      ^~~~
      
      If get_fault_type() is not inlined, the compiler cannot deduce that
      all the possible paths in the 'switch' statement are covered.
      
      Of course, we could mark get_fault_type() as __always_inline to get
      back the original behavior, but I do not think it sensible to force
      inlining just for the purpose of suppressing the warning. Since this
      is just a matter of warning, I want to keep as much room for compiler
      optimization as possible.
      
      I added unreachable() to teach the compiler that the 'default' label
      is unreachable.
      
      I got rid of the 'inline' marker. Even without the 'inline' hint,
      the compiler inlines functions based on its inlining heuristic.
      
      Fixes: 9012d011 ("compiler: allow all arches to enable CONFIG_OPTIMIZE_INLINING")
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      bf2f1eee
  2. 25 May, 2019 1 commit
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 2409207a
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "This is the same set of patches sent in the merge window as the final
        pull except that Martin's read only rework is replaced with a simple
        revert of the original change that caused the regression.
      
        Everything else is an obvious fix or small cleanup"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        Revert "scsi: sd: Keep disk read-only when re-reading partition"
        scsi: bnx2fc: fix incorrect cast to u64 on shift operation
        scsi: smartpqi: Reporting unhandled SCSI errors
        scsi: myrs: Fix uninitialized variable
        scsi: lpfc: Update lpfc version to 12.2.0.2
        scsi: lpfc: add check for loss of ndlp when sending RRQ
        scsi: lpfc: correct rcu unlock issue in lpfc_nvme_info_show
        scsi: lpfc: resolve lockdep warnings
        scsi: qedi: remove set but not used variables 'cdev' and 'udev'
        scsi: qedi: remove memset/memcpy to nfunc and use func instead
        scsi: qla2xxx: Add cleanup for PCI EEH recovery
      2409207a
  3. 24 May, 2019 37 commits