]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Input: maplemouse - set driver data before registering input device
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 30 Jun 2026 05:47:34 +0000 (22:47 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 3 Jul 2026 05:48:57 +0000 (22:48 -0700)
Set maple driver data before calling input_register_device() to
ensure that it is available if the device is opened immediately and
the callback is triggered.

Cc: stable@vger.kernel.org
Assisted-by: Antigravity:gemini-3.5-flash
Tested-by: Florian Fuchs <fuchsfl@gmail.com>
Link: https://patch.msgid.link/akNXw45L_8bxD6QV@google.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/mouse/maplemouse.c

index c41182766538aede2eb7821bd8bbe2fbf47ba467..0c8f7d1b02aa3c99ab64ee0ed2c5e1bd94536549 100644 (file)
@@ -88,6 +88,8 @@ static int probe_maple_mouse(struct device *dev)
        mse->dev = input_dev;
        mse->mdev = mdev;
 
+       maple_set_drvdata(mdev, mse);
+
        input_set_drvdata(input_dev, mse);
        input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REL);
        input_dev->keybit[BIT_WORD(BTN_MOUSE)] = BIT_MASK(BTN_LEFT) |
@@ -103,12 +105,12 @@ static int probe_maple_mouse(struct device *dev)
                goto fail_register;
 
        mdev->driver = mdrv;
-       maple_set_drvdata(mdev, mse);
 
        return error;
 
 fail_register:
        input_free_device(input_dev);
+       maple_set_drvdata(mdev, NULL);
 fail_nomem:
        kfree(mse);
 fail: