Re: [PATCH 1/2] swap led_brightness from enum to typedef

From: Dan Carpenter
Date: Mon Jul 19 2021 - 04:06:27 EST


Hi Amy,

url: https://github.com/0day-ci/linux/commits/Amy-Parker/leds-change-led_brightness-definition-from-enum-to-typedef/20210716-052140
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git dd9c7df94c1b23feacd54112f33ad95d93f64533
config: i386-randconfig-m021-20210715 (attached as .config)
compiler: gcc-10 (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>

smatch warnings:
drivers/hid/hid-corsair.c:157 k90_backlight_get() warn: signedness bug returning '(-12)'

vim +157 drivers/hid/hid-corsair.c

b14a971f104520 Amy Parker 2021-07-15 145 static led_brightness k90_backlight_get(struct led_classdev *led_cdev)
^^^^^^^^^^^^^^
Just declare this as int instead of typedef.

6f78193ee9ea55 Clément Vuchener 2015-09-30 146 {
6f78193ee9ea55 Clément Vuchener 2015-09-30 147 int ret;
6f78193ee9ea55 Clément Vuchener 2015-09-30 148 struct k90_led *led = container_of(led_cdev, struct k90_led, cdev);
6f78193ee9ea55 Clément Vuchener 2015-09-30 149 struct device *dev = led->cdev.dev->parent;
6f78193ee9ea55 Clément Vuchener 2015-09-30 150 struct usb_interface *usbif = to_usb_interface(dev->parent);
6f78193ee9ea55 Clément Vuchener 2015-09-30 151 struct usb_device *usbdev = interface_to_usbdev(usbif);
6f78193ee9ea55 Clément Vuchener 2015-09-30 152 int brightness;
6d104af38b570d Johan Hovold 2017-01-12 153 char *data;
6d104af38b570d Johan Hovold 2017-01-12 154
6d104af38b570d Johan Hovold 2017-01-12 155 data = kmalloc(8, GFP_KERNEL);
6d104af38b570d Johan Hovold 2017-01-12 156 if (!data)
6d104af38b570d Johan Hovold 2017-01-12 @157 return -ENOMEM;

Negative error codes

6f78193ee9ea55 Clément Vuchener 2015-09-30 158
6f78193ee9ea55 Clément Vuchener 2015-09-30 159 ret = usb_control_msg(usbdev, usb_rcvctrlpipe(usbdev, 0),
6f78193ee9ea55 Clément Vuchener 2015-09-30 160 K90_REQUEST_STATUS,
6f78193ee9ea55 Clément Vuchener 2015-09-30 161 USB_DIR_IN | USB_TYPE_VENDOR |
6f78193ee9ea55 Clément Vuchener 2015-09-30 162 USB_RECIP_DEVICE, 0, 0, data, 8,
6f78193ee9ea55 Clément Vuchener 2015-09-30 163 USB_CTRL_SET_TIMEOUT);
7a546af50eb78a Johan Hovold 2017-01-12 164 if (ret < 5) {
6f78193ee9ea55 Clément Vuchener 2015-09-30 165 dev_warn(dev, "Failed to get K90 initial state (error %d).\n",
6f78193ee9ea55 Clément Vuchener 2015-09-30 166 ret);
6d104af38b570d Johan Hovold 2017-01-12 167 ret = -EIO;
6d104af38b570d Johan Hovold 2017-01-12 168 goto out;
6f78193ee9ea55 Clément Vuchener 2015-09-30 169 }
6f78193ee9ea55 Clément Vuchener 2015-09-30 170 brightness = data[4];
6f78193ee9ea55 Clément Vuchener 2015-09-30 171 if (brightness < 0 || brightness > 3) {
6f78193ee9ea55 Clément Vuchener 2015-09-30 172 dev_warn(dev,
6f78193ee9ea55 Clément Vuchener 2015-09-30 173 "Read invalid backlight brightness: %02hhx.\n",
6f78193ee9ea55 Clément Vuchener 2015-09-30 174 data[4]);
6d104af38b570d Johan Hovold 2017-01-12 175 ret = -EIO;
6d104af38b570d Johan Hovold 2017-01-12 176 goto out;
6f78193ee9ea55 Clément Vuchener 2015-09-30 177 }
6d104af38b570d Johan Hovold 2017-01-12 178 ret = brightness;
6d104af38b570d Johan Hovold 2017-01-12 179 out:
6d104af38b570d Johan Hovold 2017-01-12 180 kfree(data);
6d104af38b570d Johan Hovold 2017-01-12 181
6d104af38b570d Johan Hovold 2017-01-12 182 return ret;
6f78193ee9ea55 Clément Vuchener 2015-09-30 183 }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx