Hi Stanislav,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on scsi/for-next]
[also build test WARNING on v4.15-rc5 next-20171222]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Stanislav-Nijnikov/ufs-sysfs-read-only-access-to-device-descriptors-attributes-and-flags/20171226-075252
base:   https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next
reproduce:
        # apt-get install sparse
        make ARCH=x86_64 allmodconfig
        make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)


vim +40 drivers/scsi/ufs/ufs-sysfs.c

    15  
    16  static inline ssize_t ufs_sysfs_read_desc_param(
    17          struct ufs_hba *hba, u8 desc_idn, u8 index, char *buf, u8 off,
    18          enum ufs_desc_param_size param_size)
    19  {
    20          int desc_len;
    21          int ret;
    22          u8 *desc_buf;
    23  
    24          if (ufshcd_map_desc_id_to_length(hba, desc_idn, &desc_len) ||
    25                  off >= desc_len)
    26                  return -EINVAL;
    27          desc_buf = kzalloc(desc_len, GFP_ATOMIC);
    28          if (!desc_buf)
    29                  return -ENOMEM;
    30          ret = ufshcd_query_descriptor_retry(hba, 
UPIU_QUERY_OPCODE_READ_DESC,
    31                  desc_idn, index, 0, desc_buf, &desc_len);
    32          if (ret)
    33                  return -EINVAL;
    34          switch (param_size) {
    35          case UFS_PARAM_BYTE_SIZE:
    36                  ret = sprintf(buf, "0x%02X\n", desc_buf[off]);
    37                  break;
    38          case UFS_PARAM_WORD_SIZE:
    39                  ret = sprintf(buf, "0x%04X\n",
  > 40                          be16_to_cpu(*((u16 *)(desc_buf + off))));
    41                  break;
    42          case UFS_PARAM_DWORD_SIZE:
    43                  ret = sprintf(buf, "0x%08X\n",
  > 44                          be32_to_cpu(*((u32 *)(desc_buf + off))));
    45                  break;
    46          case UFS_PARAM_QWORD_SIZE:
    47                  ret = sprintf(buf, "0x%016llX\n",
  > 48                          be64_to_cpu(*((u64 *)(desc_buf + off))));
    49                  break;
    50          }
    51          kfree(desc_buf);
    52  
    53          return ret;
    54  }
    55  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Reply via email to