]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
HID: replace BUG_ON() with WARN_ON()
authorHe Lugang <helugang@uniontech.com>
Wed, 25 Sep 2024 06:28:24 +0000 (14:28 +0800)
committerJiri Kosina <jkosina@suse.com>
Fri, 18 Oct 2024 10:50:08 +0000 (12:50 +0200)
There is no need to kill the system entirely in HID with BUG_ON,
use WARN_ON to handle fault more gracefully which allow the system
to keep running.

Signed-off-by: He Lugang <helugang@uniontech.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
drivers/hid/hid-cp2112.c
drivers/hid/hid-lg4ff.c
drivers/hid/hid-sony.c

index dae2b84a1490887a64b99ad076ae0d92d4adb930..f4c8d981aa0a861ad3a06949c0f3a1a90d3b4f52 100644 (file)
@@ -852,7 +852,8 @@ static int cp2112_set_usb_config(struct hid_device *hdev,
 {
        int ret;
 
-       BUG_ON(cfg->report != CP2112_USB_CONFIG);
+       if (WARN_ON(cfg->report != CP2112_USB_CONFIG))
+               return -EINVAL;
 
        ret = cp2112_hid_output(hdev, (u8 *)cfg, sizeof(*cfg),
                                HID_FEATURE_REPORT);
index e3fcf1353fb3b701c0ec821be638f0a154aa9f78..c0a138f21ca49996d8ad4d76fc548f5cf31f606e 100644 (file)
@@ -1350,7 +1350,8 @@ int lg4ff_init(struct hid_device *hid)
 
        /* Initialize device properties */
        if (mmode_ret == LG4FF_MMODE_IS_MULTIMODE) {
-               BUG_ON(mmode_idx == -1);
+               if (WARN_ON(mmode_idx == -1))
+                       return -EINVAL;
                mmode_wheel = &lg4ff_multimode_wheels[mmode_idx];
        }
        lg4ff_init_wheel_data(&entry->wdata, &lg4ff_devices[i], mmode_wheel, real_product_id);
index d2486f3734f0028bed8634b60f98654f643b6c37..5258b45684e8d34b1ed99f003da85f4b3c9ef9a3 100644 (file)
@@ -1379,7 +1379,8 @@ static int sony_leds_init(struct sony_sc *sc)
        u8 max_brightness[MAX_LEDS] = { [0 ... (MAX_LEDS - 1)] = 1 };
        u8 use_hw_blink[MAX_LEDS] = { 0 };
 
-       BUG_ON(!(sc->quirks & SONY_LED_SUPPORT));
+       if (WARN_ON(!(sc->quirks & SONY_LED_SUPPORT)))
+               return -EINVAL;
 
        if (sc->quirks & BUZZ_CONTROLLER) {
                sc->led_count = 4;