aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2024-04-04 19:49:58 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2024-04-04 20:07:27 +0300
commit42d3bb9ba363d23f141b128513fcc8f5137d3e4f (patch)
treead06fad087af4873e0040d04654f869a82b8a8d6 /src
parent275b64dc3fa3f1956e8f81e33f0f951a5deafdc5 (diff)
downloadhid-tmff2-42d3bb9ba363d23f141b128513fcc8f5137d3e4f.tar.gz
hid-tmff2-42d3bb9ba363d23f141b128513fcc8f5137d3e4f.zip
fix error ladder in tmff2_wheel_init
Diffstat (limited to 'src')
-rw-r--r--src/hid-tmff2.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/hid-tmff2.c b/src/hid-tmff2.c
index ee4232a..0e0c60b 100644
--- a/src/hid-tmff2.c
+++ b/src/hid-tmff2.c
@@ -558,7 +558,7 @@ static int tmff2_wheel_init(struct tmff2_device_entry *tmff2)
/* create actual ff device*/
if ((ret = input_ff_create(tmff2->input_dev, tmff2->max_effects))) {
hid_err(tmff2->hdev, "could not create input_ff\n");
- goto err;
+ goto ff_err;
}
/* set ff callbacks */
@@ -589,12 +589,15 @@ static int tmff2_wheel_init(struct tmff2_device_entry *tmff2)
/* create files */
if ((ret = tmff2_create_files(tmff2)))
- goto err;
+ goto file_err;
tmff2->allow_scheduling = 1;
return 0;
+file_err:
input_ff_destroy(tmff2->input_dev);
+ff_err:
+ kfree(tmff2->states);
err:
return ret;
}