* [jic23-iio:testing 65/65] drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c:2639 lsm6dsx_get_acpi_mount_matrix() warn: signedness bug returning '(-22)'
@ 2023-04-11 8:56 Dan Carpenter
0 siblings, 0 replies; only message in thread
From: Dan Carpenter @ 2023-04-11 8:56 UTC (permalink / raw)
To: oe-kbuild, Jonathan Cameron; +Cc: lkp, oe-kbuild-all
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git testing
head: 4c3b188facb2011e9edcdaaf71f2f553e9c230df
commit: 4c3b188facb2011e9edcdaaf71f2f553e9c230df [65/65] iio: imu: lsm6dsx: Add ACPI mount matrix retrieval
config: x86_64-randconfig-m001 (https://download.01.org/0day-ci/archive/20230411/202304111602.SD5o4kh1-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Link: https://lore.kernel.org/r/202304111602.SD5o4kh1-lkp@intel.com/
New smatch warnings:
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c:2639 lsm6dsx_get_acpi_mount_matrix() warn: signedness bug returning '(-22)'
Old smatch warnings:
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c:2642 lsm6dsx_get_acpi_mount_matrix() warn: signedness bug returning '(-22)'
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c:2647 lsm6dsx_get_acpi_mount_matrix() warn: signedness bug returning '(-22)'
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c:2680 lsm6dsx_get_acpi_mount_matrix() warn: signedness bug returning '(-22)'
vim +2639 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c
4c3b188facb201 Jonathan Cameron 2023-01-30 2628 static bool lsm6dsx_get_acpi_mount_matrix(struct device *dev,
^^^^
4c3b188facb201 Jonathan Cameron 2023-01-30 2629 struct iio_mount_matrix *orientation)
4c3b188facb201 Jonathan Cameron 2023-01-30 2630 {
4c3b188facb201 Jonathan Cameron 2023-01-30 2631 struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
4c3b188facb201 Jonathan Cameron 2023-01-30 2632 struct acpi_device *adev = ACPI_COMPANION(dev);
4c3b188facb201 Jonathan Cameron 2023-01-30 2633 union acpi_object *obj, *elements;
4c3b188facb201 Jonathan Cameron 2023-01-30 2634 acpi_status status;
4c3b188facb201 Jonathan Cameron 2023-01-30 2635 int i, j, val[3];
4c3b188facb201 Jonathan Cameron 2023-01-30 2636 char *str;
4c3b188facb201 Jonathan Cameron 2023-01-30 2637
4c3b188facb201 Jonathan Cameron 2023-01-30 2638 if (!has_acpi_companion(dev))
4c3b188facb201 Jonathan Cameron 2023-01-30 @2639 return -EINVAL;
return true/false?
4c3b188facb201 Jonathan Cameron 2023-01-30 2640
4c3b188facb201 Jonathan Cameron 2023-01-30 2641 if (!acpi_has_method(adev->handle, "ROTM"))
4c3b188facb201 Jonathan Cameron 2023-01-30 2642 return -EINVAL;
4c3b188facb201 Jonathan Cameron 2023-01-30 2643
4c3b188facb201 Jonathan Cameron 2023-01-30 2644 status = acpi_evaluate_object(adev->handle, "ROTM", NULL, &buffer);
4c3b188facb201 Jonathan Cameron 2023-01-30 2645 if (ACPI_FAILURE(status)) {
4c3b188facb201 Jonathan Cameron 2023-01-30 2646 dev_warn(dev, "Failed to get ACPI mount matrix: %d\n", status);
4c3b188facb201 Jonathan Cameron 2023-01-30 2647 return -EINVAL;
4c3b188facb201 Jonathan Cameron 2023-01-30 2648 }
4c3b188facb201 Jonathan Cameron 2023-01-30 2649
4c3b188facb201 Jonathan Cameron 2023-01-30 2650 obj = buffer.pointer;
4c3b188facb201 Jonathan Cameron 2023-01-30 2651 if (obj->type != ACPI_TYPE_PACKAGE || obj->package.count != 3)
4c3b188facb201 Jonathan Cameron 2023-01-30 2652 goto unknown_format;
4c3b188facb201 Jonathan Cameron 2023-01-30 2653
4c3b188facb201 Jonathan Cameron 2023-01-30 2654 elements = obj->package.elements;
4c3b188facb201 Jonathan Cameron 2023-01-30 2655 for (i = 0; i < 3; i++) {
4c3b188facb201 Jonathan Cameron 2023-01-30 2656 if (elements[i].type != ACPI_TYPE_STRING)
4c3b188facb201 Jonathan Cameron 2023-01-30 2657 goto unknown_format;
4c3b188facb201 Jonathan Cameron 2023-01-30 2658
4c3b188facb201 Jonathan Cameron 2023-01-30 2659 str = elements[i].string.pointer;
4c3b188facb201 Jonathan Cameron 2023-01-30 2660 if (sscanf(str, "%d %d %d", &val[0], &val[1], &val[2]) != 3)
4c3b188facb201 Jonathan Cameron 2023-01-30 2661 goto unknown_format;
4c3b188facb201 Jonathan Cameron 2023-01-30 2662
4c3b188facb201 Jonathan Cameron 2023-01-30 2663 for (j = 0; j < 3; j++) {
4c3b188facb201 Jonathan Cameron 2023-01-30 2664 switch (val[j]) {
4c3b188facb201 Jonathan Cameron 2023-01-30 2665 case -1: str = "-1"; break;
4c3b188facb201 Jonathan Cameron 2023-01-30 2666 case 0: str = "0"; break;
4c3b188facb201 Jonathan Cameron 2023-01-30 2667 case 1: str = "1"; break;
4c3b188facb201 Jonathan Cameron 2023-01-30 2668 default: goto unknown_format;
4c3b188facb201 Jonathan Cameron 2023-01-30 2669 }
4c3b188facb201 Jonathan Cameron 2023-01-30 2670 orientation->rotation[i * 3 + j] = str;
4c3b188facb201 Jonathan Cameron 2023-01-30 2671 }
4c3b188facb201 Jonathan Cameron 2023-01-30 2672 }
4c3b188facb201 Jonathan Cameron 2023-01-30 2673
4c3b188facb201 Jonathan Cameron 2023-01-30 2674 kfree(buffer.pointer);
4c3b188facb201 Jonathan Cameron 2023-01-30 2675 return 0;
4c3b188facb201 Jonathan Cameron 2023-01-30 2676
4c3b188facb201 Jonathan Cameron 2023-01-30 2677 unknown_format:
4c3b188facb201 Jonathan Cameron 2023-01-30 2678 dev_warn(dev, "Unknown ACPI mount matrix format, ignoring\n");
4c3b188facb201 Jonathan Cameron 2023-01-30 2679 kfree(buffer.pointer);
4c3b188facb201 Jonathan Cameron 2023-01-30 2680 return -EINVAL;
4c3b188facb201 Jonathan Cameron 2023-01-30 2681 }
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-04-11 8:56 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-11 8:56 [jic23-iio:testing 65/65] drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c:2639 lsm6dsx_get_acpi_mount_matrix() warn: signedness bug returning '(-22)' Dan Carpenter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).