From patchwork Tue Feb 25 22:30:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Tomasz_Paku=C5=82a?= X-Patchwork-Id: 13991118 Received: from mail-ed1-f49.google.com (mail-ed1-f49.google.com [209.85.208.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D98FA207653; Tue, 25 Feb 2025 22:30:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740522612; cv=none; b=qst60bJC3n4QA7BdFC+JXPK8GTr17OTS4RFSNIqKFckf4BeUTvKE+NqmnEakyOfaMBvl/ct30MPCOVD6DvpUKlSusOAinWVjrAcQx64UccjHM2fZWn8McCGvBN7Sn60E/MCmdlbRRy/MogC+6tpYHLVeoYxxUx3ga/rWAsicDVw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740522612; c=relaxed/simple; bh=3T4YzAQURkv2cYSaZM4p2LxoTFID/ZnnSccXjrjxqf8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=iPG96EjtVTYhBn71MD/bpW5pjfbnkudWRgxFllb7OH+Ho/+e8JIOlsFDtGy6uWcwSVwCAqf4ZVaOMeLiFY0/bkr7apCipqFQX3BkFXDRq8dOw5cS77rlFeS35DKsRmJHkur9Eazo0GG5CqiKJeJdIMncFLhucZzziwuDQfjKO+o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=lDkctC+o; arc=none smtp.client-ip=209.85.208.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="lDkctC+o" Received: by mail-ed1-f49.google.com with SMTP id 4fb4d7f45d1cf-5ded7cb613eso1200147a12.2; Tue, 25 Feb 2025 14:30:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740522609; x=1741127409; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=bZYzwX+kmo0dpwpxSXaKJth2MnjzSzA80scLUp1v0LE=; b=lDkctC+oPhmQFiBwbRRk8ikDmUWuLctryJO7aJ6Pdt16ImQkc6KPeyN96IfXoXdyJi 6KPhbvAT8CWsCPInXcWrCDh7b7roRu+5AagBdL9lF89YjsBEWjTatSlXGiT7gjpqFGKb xZPFnWzshMjJ1ypnQnl0Pmo39cuBwOPZXud+A75kuDysjnLLCZAdElK4Mjt3rijXrShd KEnipbe2vHVtYMZNN+V0m8Z8c7QwMDbosuBWpFdp8yvB2dfg2g6IfwMIQB3YFl1Mfu8w yD6dqUoBd8UE0RHheapAdiwkyZmppoSQn5j3z1R9yP7urlnhEyOodQwTeH32FAV6vaCH Dc9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740522609; x=1741127409; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bZYzwX+kmo0dpwpxSXaKJth2MnjzSzA80scLUp1v0LE=; b=anw0mz78zyMhfXnd/5nX1c9Mdmlqfo9BirCnTkdQg6z/3HHriA+U+02Jmo9vzcROqd 93E1QvMtiqrYVHHGBROZmqs/FlSqROaZrOYAVfNRDwWQIDeVfhrhNNk5tdd5btEOVNx+ 8JoAHMCQI9zuTHvoSeOrpLu6NgBXa3oahSZ+eNwVcbaUm6HNTeygYS8PLIPQDnh0dYU9 eqkSZuWGYpLMihF+OD9Wg7nXmb/06NO0PasWVLptNRGPLPIYyqMG4/QJaJoP1HEbUn6f RK8gQfmuoMVSLs8LQDgPpSsOKAlQbLTsM9CL1PWIvlPvNW7mUtEXZVXdN2Wv36ZZkhKg vAOg== X-Forwarded-Encrypted: i=1; AJvYcCUVeWCcytlOmAN2Cwth0iZPG0bWCqjiXRnjsrPOWtQN3BWair+LrPEkyheM+2IazxxNLXB5/QP5B/nv@vger.kernel.org, AJvYcCXoCuri7rWrlfnkZQIpACqIB8dyhrAiTwf4wj703V2tEX0JSHkjBTT59H8PYh/QnyZ1rNdH+JkUepJW1w==@vger.kernel.org X-Gm-Message-State: AOJu0Yxny4MS0XS7fzLiJhVXmOdkmIxxu/pcWuJWJZcGZtViInjszDA3 eSmnDnEI6D4PllS6oQXX0jZgv6o4EJFGO5gcKTim0Vizpac29ILt X-Gm-Gg: ASbGncs/Fv/qkNARUvQ82koy0stjBqVvVV7GGXloz4E9Z+BvBI8ChCE4QVRE1/dEbU+ Qn2c4o/QqjniDgeeINNYVp6m/YdY8OHxxe0NhAh7lGwJgqYsZ/m8vP3FN7/B932n6L90N5o2WgA uPDiK1tK7GsiVBI7Yk3dCsBgdJ3PYThdzWAUvNBwC77NZMH+FREFq3hGRC+FNnQMhcP1QTaYssM +ZtU2NXxXJquVNrwocQrk/cmxO6Knquccv9VtX5GybWuXWUQ4xCTvyV1UWgB4WZDyd6nSW26Fcp 8cetYUNLZc4MTLykQkr1qt+K0tyXQYXTgk7J2E3hvdEHUcen9dWmfBpx+UprCWzmluRBvWU3 X-Google-Smtp-Source: AGHT+IHw3SJjqJSEYtOvdxeYXka4pS3aAK66J353K93o/HsKrYcWwdEFOXBcXku6XswTRWo+1Q+0YA== X-Received: by 2002:a17:907:9722:b0:ab6:d3b6:d825 with SMTP id a640c23a62f3a-abc09a578efmr637301566b.6.1740522608844; Tue, 25 Feb 2025 14:30:08 -0800 (PST) Received: from laptok.lan (89-64-31-140.dynamic.chello.pl. [89.64.31.140]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-abed2010f74sm209122566b.121.2025.02.25.14.30.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Feb 2025 14:30:08 -0800 (PST) From: =?utf-8?q?Tomasz_Paku=C5=82a?= To: jikos@kernel.org, bentiss@kernel.org Cc: anssi.hannula@gmail.com, oleg@makarenk.ooo, linux-input@vger.kernel.org, linux-usb@vger.kernel.org Subject: [PATCH v2 1/5] HID: pidff: Rename two functions to align them with naming convention Date: Tue, 25 Feb 2025 23:30:00 +0100 Message-ID: <20250225223004.415965-2-tomasz.pakula.oficjalny@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250225223004.415965-1-tomasz.pakula.oficjalny@gmail.com> References: <20250225223004.415965-1-tomasz.pakula.oficjalny@gmail.com> Precedence: bulk X-Mailing-List: linux-usb@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Driver uses "set" everywhere to indicate setting report values and requesting HID_REQ_SET_REPORT Signed-off-by: Tomasz Pakuła --- drivers/hid/usbhid/hid-pidff.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/hid/usbhid/hid-pidff.c b/drivers/hid/usbhid/hid-pidff.c index 6f6c47bd57ea..ffecc712be00 100644 --- a/drivers/hid/usbhid/hid-pidff.c +++ b/drivers/hid/usbhid/hid-pidff.c @@ -552,7 +552,7 @@ static void pidff_set_gain_report(struct pidff_device *pidff, u16 gain) /* * Clear device control report */ -static void pidff_send_device_control(struct pidff_device *pidff, int field) +static void pidff_set_device_control(struct pidff_device *pidff, int field) { int i, tmp; int field_index = pidff->control_id[field]; @@ -578,10 +578,10 @@ static void pidff_send_device_control(struct pidff_device *pidff, int field) /* * Modify actuators state */ -static void pidff_modify_actuators_state(struct pidff_device *pidff, bool enable) +static void pidff_set_actuators(struct pidff_device *pidff, bool enable) { hid_dbg(pidff->hid, "%s actuators\n", enable ? "Enable" : "Disable"); - pidff_send_device_control(pidff, + pidff_set_device_control(pidff, enable ? PID_ENABLE_ACTUATORS : PID_DISABLE_ACTUATORS); } @@ -591,12 +591,12 @@ static void pidff_modify_actuators_state(struct pidff_device *pidff, bool enable static void pidff_reset(struct pidff_device *pidff) { /* We reset twice as sometimes hid_wait_io isn't waiting long enough */ - pidff_send_device_control(pidff, PID_RESET); - pidff_send_device_control(pidff, PID_RESET); + pidff_set_device_control(pidff, PID_RESET); + pidff_set_device_control(pidff, PID_RESET); pidff->effect_count = 0; - pidff_send_device_control(pidff, PID_STOP_ALL_EFFECTS); - pidff_modify_actuators_state(pidff, 1); + pidff_set_device_control(pidff, PID_STOP_ALL_EFFECTS); + pidff_set_actuators(pidff, 1); } /* From patchwork Tue Feb 25 22:30:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Tomasz_Paku=C5=82a?= X-Patchwork-Id: 13991119 Received: from mail-ej1-f44.google.com (mail-ej1-f44.google.com [209.85.218.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 094572165E5; Tue, 25 Feb 2025 22:30:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740522613; cv=none; b=tBznM1rhfFJQTn4sTeXdwf6gkIyiLJg6VPC/2xKL2qM4StmGq2VTahHW4P3cLYoNb7dtAvOe8mFax4BXMMlvxQHtVnWt6wLxgjjemOfo1G09fTTldw3+GQKvjc/FJ30ka5Uh0sclrgdR8nBRdNe+DedH2q9VjPpRHS2Tz40TmCE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740522613; c=relaxed/simple; bh=ESWHMUxmV52Qaj36P2x83E7I7NyZYOkBXsH2Fo96Pno=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=RMo59I0lzQYMgfUooaC9OAyxAFpJYJybXIP3J6N87HN1aXpO8jsmtdIda6vq6Y/Woo9hHjuW4lVYZHNgi1gnpqh8rOoRidhwv67iqB1ZdZHVQhejVORKz/xGrtJ8pKKwu9qJNfWKv3vZdwdkbl4MprbRAuBjlvf1kuI+64VxBF0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=RAYio6MZ; arc=none smtp.client-ip=209.85.218.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="RAYio6MZ" Received: by mail-ej1-f44.google.com with SMTP id a640c23a62f3a-abb88d2b67eso72916766b.0; Tue, 25 Feb 2025 14:30:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740522610; x=1741127410; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=KRf1ILuW4AlRtlcIymAG7O6j8cyk58JheUtEmycHXyM=; b=RAYio6MZBJiDgY939ftTEYuZOJbY2eJ9O3zc8OeUGFQPFRLcTp5cUmu2X8Mxvvtj9I 3F4mC+3f7bQjeGzqANp7IkLbmrOLmucFBG2LqQBkJ0E0Kd3f5kjF1JjfF9KQe57FGRLb /nX/XDd0i2gkyagLlWPokz4eTbEOP+rWwDYxB9dO2fVs/a95q7FNVb1/SttlEnxxBo4s EG8lTER+2+xjW0/w1HDQFAYqIi5oymLO17ROhLXUPBRHGBC0iSqoyoHJO+U5al7I3oZC Ch8vyELa8npsLDeIQTIObDHd/U4XydB8mLvZyKoIRrJo3mDnQ1nOjeCnNd+E/Q8lHzSn ibmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740522610; x=1741127410; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KRf1ILuW4AlRtlcIymAG7O6j8cyk58JheUtEmycHXyM=; b=Rvj9Idrz43EHa8BIzBZE772rGUeiZ+n3Wb7F1ti4hj/M9qTMq5X0OqR4RTct1wz7Fr TUkrFmCVaX8AsGf99ev021FwQHIYMdtRiUPI7wQiLd8evce7AsCc/zxyApybNXT5E8Y9 vM2TJty1u/xYccp9ub2hdqKLi1OH9D7HTzpYSHDMQCLAekkHzBkKhmLKw8RfxOC6ZaGJ HCrjoxVTrtZPvwOpmLl0LSE8u7UW3/Q2+SkRYEeW2LWU35vIT4kaR/8hfvc7aPIe+FMf ZbK5GZengjg5i5fJpif1/rQVmN0SyWb3tRNVS/SUXudrT7AZ7qWA33+fRZy16LBopPGC Jgrw== X-Forwarded-Encrypted: i=1; AJvYcCVY4Ztsz6TVNXBtku80H+uOd5TJ4RwbyitsUeZFhmNI/i6Nn+FYbrjWtlSzuT88JDUSRKGCROZzuNDrFQ==@vger.kernel.org, AJvYcCWEnhlgPWPSITR64IGQKVa/UWmNBUpGGLGhN/Lec29qZvDofKV9xXgDsjhAqBtq9za8PehncYtf0eCK@vger.kernel.org X-Gm-Message-State: AOJu0YzQgBZEpXZevq1UyG0VHZ/i7mdNBSR0JXLI7Yn6RpdiyFb5sowQ gnEjJSqqNnuRDZ6O2491S/9EWYh3PnQYo+hTda9jU/CSKAfSjWZb X-Gm-Gg: ASbGncvThB4n1I//VCbbVkHYWt81H58wlj6PyJ2hY20dIxYN9qvHey6unYOZr6a9XtP lYYNiYMdyAEaFYIGDF5U1pNplQ4l5KEoqXHRbk+NF2l810amOeMTyaZFXel8M5dMtC+rWmZOI42 ddFu8Do1lkErVzqWC0GFtRN95ujOhqzTPkvezI6OA7kvQVoFsyryjv4AaE9wjuwDSCXs7nRIw1X aZYNpGYWWsxMwvjmFFUhjCPrsEqoo+jbvqdz9EhvLbyZihkc02shklUK2+m1XaRdK0qFhJLAHLZ +dL/jGzEQ0s50wkknvJUsfAdrHdQ78QcspDlMK45Ia2pmdJA9YVOSC9YY8X8nXLPfvLQn7nb X-Google-Smtp-Source: AGHT+IHBX02/xI4FOdQxhX0adLlAWoHjoIp9ates0dEErgTqSCD+AyeIlyK1LkogAycDgE8tAx0hwQ== X-Received: by 2002:a17:906:7312:b0:ab6:d660:c84a with SMTP id a640c23a62f3a-abc09a0c05fmr859688666b.4.1740522610111; Tue, 25 Feb 2025 14:30:10 -0800 (PST) Received: from laptok.lan (89-64-31-140.dynamic.chello.pl. [89.64.31.140]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-abed2010f74sm209122566b.121.2025.02.25.14.30.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Feb 2025 14:30:09 -0800 (PST) From: =?utf-8?q?Tomasz_Paku=C5=82a?= To: jikos@kernel.org, bentiss@kernel.org Cc: anssi.hannula@gmail.com, oleg@makarenk.ooo, linux-input@vger.kernel.org, linux-usb@vger.kernel.org Subject: [PATCH v2 2/5] HID: pidff: Clamp effect playback LOOP_COUNT value Date: Tue, 25 Feb 2025 23:30:01 +0100 Message-ID: <20250225223004.415965-3-tomasz.pakula.oficjalny@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250225223004.415965-1-tomasz.pakula.oficjalny@gmail.com> References: <20250225223004.415965-1-tomasz.pakula.oficjalny@gmail.com> Precedence: bulk X-Mailing-List: linux-usb@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Ensures the loop count will never exceed the logical_maximum. Fixes implementation errors happening when applications use the max value of int32/DWORD as the effect iterations. This could be observed when running software both native and in wine. Signed-off-by: Tomasz Pakuła --- drivers/hid/usbhid/hid-pidff.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/hid/usbhid/hid-pidff.c b/drivers/hid/usbhid/hid-pidff.c index ffecc712be00..74b033a4ac1b 100644 --- a/drivers/hid/usbhid/hid-pidff.c +++ b/drivers/hid/usbhid/hid-pidff.c @@ -690,7 +690,8 @@ static void pidff_playback_pid(struct pidff_device *pidff, int pid_id, int n) } else { pidff->effect_operation_status->value[0] = pidff->operation_id[PID_EFFECT_START]; - pidff->effect_operation[PID_LOOP_COUNT].value[0] = n; + pidff->effect_operation[PID_LOOP_COUNT].value[0] = + pidff_clamp(n, pidff->effect_operation[PID_LOOP_COUNT].field); } hid_hw_request(pidff->hid, pidff->reports[PID_EFFECT_OPERATION], From patchwork Tue Feb 25 22:30:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Tomasz_Paku=C5=82a?= X-Patchwork-Id: 13991120 Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 27DC021764B; Tue, 25 Feb 2025 22:30:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740522614; cv=none; b=tkeJuHK1OeG3qZ/uN/Tz2xecwGN4NGQvq1yQOM3QtZ8vnBeJt6yD/eWmXoIIFy32l2+IRuLQC8vf5SuNawVHoWBeFZq4sDA8YeaQvFiCHN6wzzWzQLf2XW1sBrst12O0GSc86h2Lk7jneSobI6HULW7mzEHSx4TNGGHaMhfJfuw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740522614; c=relaxed/simple; bh=YQExJ7jUd/Cw+KmuNvncQzBndAiLM9ouibxbO6Z7Hb0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=labVzZz2++jyaaFcx3XMmOJaWtL+m/9TUP+stKufwdZQV1zkX/7E4+4N6TThkRSsU0Lh9pP8p3HheEOygYuAnqERoTlbOFSGHenjleFuGEmIvielHxi5/FrqM4bic1lqP5WAP9tKLC2vJyPEdlDqu2YWPzoNSe3PNnZuhXVaWHg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=lyGnZW7M; arc=none smtp.client-ip=209.85.208.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="lyGnZW7M" Received: by mail-ed1-f53.google.com with SMTP id 4fb4d7f45d1cf-5ded7cb613eso1200151a12.2; Tue, 25 Feb 2025 14:30:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740522611; x=1741127411; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=HLX8/NM8OxV+h6FP7c/FoaB9RiQlmNSOqyds5cH+az8=; b=lyGnZW7MmBa0oC2Xqk42KBcB2QEfVFtqp9tKuhtlOLOJLk3Wr8ie+3s5hNeLT1KVH7 IWd4f2C4+XuMv7NleUUXfW7zwdM3/PPx//xXub8U4Meh2yzRu8f3XnaOuTYLHVszGZ7z hhIyFgruThrHCQoQqLwTQsRiNCIo0BCLj70u+IiAPxkkenIjw4WJKjWRIBUSN7aU4yYd AkY/A1q3gwZGS/npNj9PU24ovgG8UUG8/0YsZND26Y5lt9L28qyT7ePXK7TjE8namlfl KUxNAel8diq5sJk2id9Gd1Pw5f6iJya9vhnqa6uYxAVtZy36cAreI/VncXl5R8ziG7h8 ugDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740522611; x=1741127411; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HLX8/NM8OxV+h6FP7c/FoaB9RiQlmNSOqyds5cH+az8=; b=cE/CwGaQ28JKs6HC9ASuEkt3AjPGPs500noNxfOQhiTnwAkKVc3NQBo4QO7Yt0EyVg mGnuI2U/t91UqQ+F/auroGoX1NcZ1uld+yLOzKoEuxXnWItkjJ/10wEixeVeaX5lqbh7 tSJbuYVzH1It7yHtUiYZfV7ACNiTSLPe9Zigw9peWeSQANx9QRCF3yc+Ac7j9lkPcv4q OJFipER/32beNRewd4thxef/BuO0SzwZ7ybIKjOwtJkn5ch2opxqB9tRtDItnHw1eqY8 DQAz/NQYnEa8x6Q+j/1WOXffYgvzSKlTV9Kjc6SVjDTLjcgMK+qs7g/gd9ErFQbA2V2U vMzQ== X-Forwarded-Encrypted: i=1; AJvYcCW7TuBFfifzRKSYMl98prIbD4yOEYtMpFumfbgvqpjX1xUixg4jx6jKYEM+XJJckwjKr8Fy4pr281JN@vger.kernel.org, AJvYcCXTVnya9Cxx2b8RLKvjVy+f/QIPrWrWWs8Y0AswX0IKG5oyx22KPjjKahMxxWaPoIspDIX1GpeAZ36F3Q==@vger.kernel.org X-Gm-Message-State: AOJu0YxaNNbGQIIFbpa9PlC7jx3cVOhGDVkNt0mRUWkQ/giMGgMFqDVh 7AMK4zXy5Pxnn/GUxqlC4T3xHtZqVls9w57CdryrRcRi5+5m/6eryhQFy1vt X-Gm-Gg: ASbGncttA0bP2l4CjkinVDKN/owaoFQwxL5P6nQw7T25PuwQBQBij7QHEjgN6MgKEVu aY40tta89aAXVgLkBcTDPZ82PhAn1fov2Oz4TuGQ8CoORTiKZQdZAeK7ysj8T4lbWYXCAyDb3jD IykHOofrNl8BZwHRFr2vMB8l+XwkT8rZiZmG1mEoZSsbZTZ4xbAnx9XPxmgZxFC5KycMS18JhcZ CuNoQA+s0uTjIF7dokD2AxspnWECfu9HokOanoYjKrvpHjYRGLXwWTITtihOv3HkxabgXqHb0DI HOJWKe3aTX9HmE1Eah6MoDV5prIofFl4/6zIu8jxeI83+SJpYhXIrGOB3Iw3XPoH4LqkZ4Yo X-Google-Smtp-Source: AGHT+IHI8cDfz33GKziKjJ4eAAoTG4XD+Ol4GeOC+G2hVBmwxMY3juXWCtElj1rELPh4lx8JOMOhTA== X-Received: by 2002:a17:907:7e90:b0:abb:ebfe:d5e9 with SMTP id a640c23a62f3a-abc09becfd6mr656644466b.9.1740522611194; Tue, 25 Feb 2025 14:30:11 -0800 (PST) Received: from laptok.lan (89-64-31-140.dynamic.chello.pl. [89.64.31.140]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-abed2010f74sm209122566b.121.2025.02.25.14.30.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Feb 2025 14:30:10 -0800 (PST) From: =?utf-8?q?Tomasz_Paku=C5=82a?= To: jikos@kernel.org, bentiss@kernel.org Cc: anssi.hannula@gmail.com, oleg@makarenk.ooo, linux-input@vger.kernel.org, linux-usb@vger.kernel.org Subject: [PATCH v2 3/5] HID: pidff: Compute INFINITE value instead of using hardcoded 0xffff Date: Tue, 25 Feb 2025 23:30:02 +0100 Message-ID: <20250225223004.415965-4-tomasz.pakula.oficjalny@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250225223004.415965-1-tomasz.pakula.oficjalny@gmail.com> References: <20250225223004.415965-1-tomasz.pakula.oficjalny@gmail.com> Precedence: bulk X-Mailing-List: linux-usb@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 As per USB PID standard: INFINITE - Referrers to the maximum value of a range. i.e. if in an 8 bit unsigned field the value of 255 would indicate INFINITE. Detecting 0xffff (U16_MAX) is still important as we MIGHT get this value as infinite from some native software as 0 was never actually defined in Linux' FF api as the infinite value. I'm working on it though. Signed-off-by: Tomasz Pakuła --- drivers/hid/usbhid/hid-pidff.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/hid/usbhid/hid-pidff.c b/drivers/hid/usbhid/hid-pidff.c index 74b033a4ac1b..a614438e43bd 100644 --- a/drivers/hid/usbhid/hid-pidff.c +++ b/drivers/hid/usbhid/hid-pidff.c @@ -283,8 +283,9 @@ static void pidff_set_duration(struct pidff_usage *usage, u16 duration) if (duration == FF_INFINITE) duration = PID_INFINITE; + /* PID defines INFINITE as the max possible value for duration field */ if (duration == PID_INFINITE) { - usage->value[0] = PID_INFINITE; + usage->value[0] = (1U << usage->field->report_size) - 1; return; } From patchwork Tue Feb 25 22:30:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Tomasz_Paku=C5=82a?= X-Patchwork-Id: 13991121 Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5DC4221858F; Tue, 25 Feb 2025 22:30:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740522615; cv=none; b=dF4yLgcL1avgto7DeO8kM49gAnGM0/+rdCNiWPlCrHRP3gpsY3XRkhcYAnnns28nd6KMkAk7rmYyOu9fBz37+hUBFl7eaRfY3DzyPpL8WVn8upS+1K8/l1kkpfhgYoezSF89qmVdkJ3i2PuqpXLXT3NYAmMOLlvq+S5uBZv6aQo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740522615; c=relaxed/simple; bh=wpX4MDEKrwsvmMZvujrY/Z5rpaU0povc3dRNk6Rz7rQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=LGrnnDibejchRUWB5Vm2JpbjfSVVM80+Zqmb2r04HwG8+/c/OxouzvTNU89yDijN5qo8yiQCikBWt9JTs2JK3ECkw3eHrzXVeccvH9TVEuIUvBD/HwvSGEuSfg4r6gIz1SwZX/pjd1asiDTpeBOJy3UaXrsF5dplU9KnYJ15tdw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=G6U6fphL; arc=none smtp.client-ip=209.85.218.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="G6U6fphL" Received: by mail-ej1-f51.google.com with SMTP id a640c23a62f3a-ab7e08f56a0so110149266b.1; Tue, 25 Feb 2025 14:30:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740522612; x=1741127412; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=KepluMyj1J69FmALxGaavPqtO2RMuar8Zd14QOrTqME=; b=G6U6fphLvpiLiirpHU0P7eAyXVzzp7KEZDODQcpmEyacbk82B3NarZcO3GrI/Hg68z 8x104QEJe3OoCN5K+8iThDYuydplg/Em65wxrElYRFoIlXBwQmWNdBYSDf+DiA8pI1xn Zg2Qcz8mLYljAklk8rGi+PeAl4RW3LSkYxpU6Q5rUnDr5HaupulyyR61LvK+stcPM88r P9d0PBWjkF9DeqTPHqU2nzt/BB0IZnYnyHa2m/OtYPSGWNmf7pXU5WidC33fi6lbVKBR MCzaDDbIKLJD2ycfaKkP6m3k7kAAdiiRB6IK0iw5T7hETC4Lt383AvcjJ+ShF71o3m4M 4vFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740522612; x=1741127412; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KepluMyj1J69FmALxGaavPqtO2RMuar8Zd14QOrTqME=; b=c1m1w2aDeJUp2s1hDPhp/KgJ/TxYNeaohPhXfZ5ymupRAT8t6LPe/xMkkv/HBb2zPJ WnIBWi0z+K45BiiXLevo+u1nEk4mB2/ntfMyA18D13jGl+KFUvDBq8J3YZcXSaRK7vms I0bEei1BmtrwpKoNVhSmD/f95htiqW0fRlLrLx8WLGZxxUY44FJ/NvJzbWkStj8cTbg5 AmSKfHhjhDtWgffFGrufo8nwHUqOwAUm4x1YdzcTBP8MA93pDMU7UOpNoEOJyT/wx8AY Xtc3h5VhpFk4u1OeW//8Fh8pkeEj/v/zWAFiEPMoXveZ8h0MIDB+9lp2kS3hj+WHvdtm SJDg== X-Forwarded-Encrypted: i=1; AJvYcCUQP8Tjj8Ut2l5qexoP+Mnkxearn8q+3hli/NU3jnMiwW11E8rq9ZtE8ddCx1COmb7O5vme15EKxJqvnQ==@vger.kernel.org, AJvYcCVmNDH3sV7Mc/CK6m+jsJlen9bus6XzmoAu0Rq6UAIn9aKUiaE5ewbM36wZ6pzrQVRti525nvpZgggK@vger.kernel.org X-Gm-Message-State: AOJu0YzzRAfwsia57RA6biw70dsbFnjyWoLE8uTEi5fSAlDqw9aTeRbU WbLM5YWboGdwb/hJbQbPxh9RfzjTKf4ZB/eUF5yUyYGcqKd5S+na3Y3Ca6l4 X-Gm-Gg: ASbGnct2V9PpqJy8q3+p7DYdTZdBiHFYxe/w+0QsuGJqyFPMkdC32Wis3142q2Ryos1 NlMLlhd8NZ27yMd/yqQAymIXvTz3ahhNk4XanBsuNcMd5aIZIZYjrtJhPxvLn4ZaiAdrTwFZKMR LKSNXuo6whsQDaXiAp/sJELoD6MExS1h5pZbGC1zV7Rmqj3+hLd5EBjDc/1s3Q2h6tL65KJvwjk MspfyLjbhgbWZ6ol9gh9rn5v1it3Kif/HwRkboOFQmm9pgf92E1m37Eaz9m2rZZWAkQrwS2+IO9 Yr1V6lS0j3zi80NyutPU7MatdpLNVD5G3/hk0ujdKKx3Yxl0podwpMvO0L7POcpjLuKEilUo X-Google-Smtp-Source: AGHT+IFKK6j26Hyyk9NmDTaQWRrTWWtem6M9BzVP3zEJfldl8BXwXmh0hdZuH40tvJfCUQPtXAdUPA== X-Received: by 2002:a17:907:2ce2:b0:ab7:cd83:98bb with SMTP id a640c23a62f3a-abc09a3c1c5mr721291066b.5.1740522612359; Tue, 25 Feb 2025 14:30:12 -0800 (PST) Received: from laptok.lan (89-64-31-140.dynamic.chello.pl. [89.64.31.140]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-abed2010f74sm209122566b.121.2025.02.25.14.30.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Feb 2025 14:30:11 -0800 (PST) From: =?utf-8?q?Tomasz_Paku=C5=82a?= To: jikos@kernel.org, bentiss@kernel.org Cc: anssi.hannula@gmail.com, oleg@makarenk.ooo, linux-input@vger.kernel.org, linux-usb@vger.kernel.org Subject: [PATCH v2 4/5] HID: pidff: Fix 90 degrees direction name North -> East Date: Tue, 25 Feb 2025 23:30:03 +0100 Message-ID: <20250225223004.415965-5-tomasz.pakula.oficjalny@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250225223004.415965-1-tomasz.pakula.oficjalny@gmail.com> References: <20250225223004.415965-1-tomasz.pakula.oficjalny@gmail.com> Precedence: bulk X-Mailing-List: linux-usb@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 --- drivers/hid/usbhid/hid-pidff.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/hid/usbhid/hid-pidff.c b/drivers/hid/usbhid/hid-pidff.c index a614438e43bd..6eb7934c8f53 100644 --- a/drivers/hid/usbhid/hid-pidff.c +++ b/drivers/hid/usbhid/hid-pidff.c @@ -145,7 +145,7 @@ static const u8 pidff_block_load_status[] = { 0x8c, 0x8d, 0x8e}; #define PID_EFFECT_STOP 1 static const u8 pidff_effect_operation_status[] = { 0x79, 0x7b }; -/* Polar direction 90 degrees (North) */ +/* Polar direction 90 degrees (East) */ #define PIDFF_FIXED_WHEEL_DIRECTION 0x4000 struct pidff_usage { From patchwork Tue Feb 25 22:30:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Tomasz_Paku=C5=82a?= X-Patchwork-Id: 13991122 Received: from mail-ej1-f46.google.com (mail-ej1-f46.google.com [209.85.218.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F237F21764B; Tue, 25 Feb 2025 22:30:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740522617; cv=none; b=ASP5CvgitDnsP1GDRY+GsiuKumaWxBVKdHovdTcc2HWYzBVC8uMG7rLnqi1CRQJSwJOUTWrORYvG2ZS/x7lic/xP0wNPDXmuhYOuw3jmq/a+Zy+Q9o8ieAzj8ORjqjgpb49cmifyZQrPGY1Umtw2eJzCa6HD6YvoaPrcikEJNUw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740522617; c=relaxed/simple; bh=LxP1w2fDXhSKHW4DmQrxZDK3o4bs4aHBt/iXf7J3zJE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OLvBjE3OUo4NHNr8jjTZy6056cTIgwn5k1o22a40T8arC/7ftTcgwJk52KLPaekwHwAo86/bQaJ5QhWELGybVIP1jhLuHPFUuOXsj7hPMbxH1F7QXjtZJVe9KpOuwKiBgwcDh//6ZGWz/JUvd5ksIEdYx8BXLsWhFTc9aWx9NVI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=K7j+iEYX; arc=none smtp.client-ip=209.85.218.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="K7j+iEYX" Received: by mail-ej1-f46.google.com with SMTP id a640c23a62f3a-abc28af1ba4so58241166b.1; Tue, 25 Feb 2025 14:30:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740522614; x=1741127414; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=WP49R5haUfKyNUf4TSS1VSNg1Ke2bHVz8VYWeoVRzB8=; b=K7j+iEYXALAx19tG3jS7hRbhruguK6YFWm0mOBAkT2XzkEBkXpV7DD0t7qaSb8iCnX wmH8zR8whAun8+LYAKM5Y6FK84NdVFQ5w6nDMpHD2hcQPzVxVi5cMYQ7WkAG9XCyHn89 P6yOt2J+lwadqEu1Qo6UGd1wyA5CHxNA8NIOA4SPSsTG022sefQO2NR8ruAHYg2uIEzp 4w949MzZb0UoM8cYc7G0llUQxMDttB+XwBtZ31Y4YdVHZfuhfgip6I9/Kt0gGINE+M/A XpIDdLQTnrMNsZvwaOqfgPY9mT7EFXb4AhToCd7sst8Ui53Bo9IZTfrN5ZYKRvPIqUvy igxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740522614; x=1741127414; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WP49R5haUfKyNUf4TSS1VSNg1Ke2bHVz8VYWeoVRzB8=; b=XIj2mBus8lZ8sCbOW3K6j0G33/rvzfiOE+IuM+ZHqkAMiuvNSRXwhvEGv7C+VBp9iD 3C4oh/+CKZoOGMTHCoz8wdyFx02WeFotiBr3g8tuRkv1t65I0xabJdS1CnQYbR7dLPrW EDNuVvfDOVE3xYU6MH2YjlRJUOtAhYGZedBmBgMwtOyHuA/lCvYQL1+Mj9bbjTYcKJbv NmRivoXTuTtHqYAsYAP1nCyFFc/Yl4FqRdWelsDVGMgiRrcAjOWi1JItcvZzv/3AVWQR 9qZzRChqsrWRfNB5kW72mV0+DR1unN2+FEMI5+LZPC4i852qIuziRlFG9oqS/ruZeBKx C/Ag== X-Forwarded-Encrypted: i=1; AJvYcCWZWBtu2uCKEqVieVlWOFUl/iPw0OvLTl/b/nr0Fn1/fAWtTfpftyhnLcqJnFd9OI6XbUCUeNaycfql@vger.kernel.org, AJvYcCXtnr/QwZBkWsApZbC8jv4Tp20WV+zD/coggfGQaa0XInqfr0sD7KDSsamhABUi/dYXBGBqCBv91eqsjA==@vger.kernel.org X-Gm-Message-State: AOJu0YwJvuxWFv0b/yBESvL0tBI7dTa7LHJdEilhLCq7nwPrQaIckawQ qQ9RivCQuP6YgaTdtMPd18yq7uJA16fOj8tIHQ36vDIkDo+szIgdpxoxItGc X-Gm-Gg: ASbGncvE/J23WIYJVQS4WNhSsEOFgr3VdKoF6JBcP5y2l18cNwpqD4cX7BRi+b1mk1B ihdfJ3Gc1uHr90nSyNgwbAnMGXMNoau5JbgMIL7mVkrlDsDUWYuZj6HuziUWbWaY1HaFTuwoDeq 45I2QCCuSigTYA4ycPUZSyxW6/nz61voXnEc8k1StLdUW/G3ldn4XvJ33SaE/w6YfSrTbxtP4De 7pW5c4TIN99kBxk4+GWpjhD9k0yV7oLyga5kgV70iwguBPWBCXRjxbWWkVFfZkP7MpALaKLA2Wa KbMDsrGk+McSMz+FO6uPX8o2m/kuGOrNMKVhU13VXLHE86qmHjDfpa9AIpUD0PEn9pTqC334 X-Google-Smtp-Source: AGHT+IH69g//NfxWb0Kab5MOLwotpee9YXDyBgsgymsMk09zCHxIXCf9doYTp0X8ia0bVf1kt3pymg== X-Received: by 2002:a17:906:dc8b:b0:aab:8f0f:6919 with SMTP id a640c23a62f3a-abc09c12d97mr741445366b.11.1740522614081; Tue, 25 Feb 2025 14:30:14 -0800 (PST) Received: from laptok.lan (89-64-31-140.dynamic.chello.pl. [89.64.31.140]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-abed2010f74sm209122566b.121.2025.02.25.14.30.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Feb 2025 14:30:13 -0800 (PST) From: =?utf-8?q?Tomasz_Paku=C5=82a?= To: jikos@kernel.org, bentiss@kernel.org Cc: anssi.hannula@gmail.com, oleg@makarenk.ooo, linux-input@vger.kernel.org, linux-usb@vger.kernel.org Subject: [PATCH v2 5/5] HID: pidff: Fix set_device_control() Date: Tue, 25 Feb 2025 23:30:04 +0100 Message-ID: <20250225223004.415965-6-tomasz.pakula.oficjalny@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250225223004.415965-1-tomasz.pakula.oficjalny@gmail.com> References: <20250225223004.415965-1-tomasz.pakula.oficjalny@gmail.com> Precedence: bulk X-Mailing-List: linux-usb@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 As the search for Device Control report is permissive, make sure the desired field was actually found, before trying to set it. Fix bitmask clearing as it was erronously using index instead of index - 1 (HID arrays index is 1-based). Add last two missing Device Control usages to the defined array. PID_PAUSE and PID_CONTINUE. --- drivers/hid/usbhid/hid-pidff.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/drivers/hid/usbhid/hid-pidff.c b/drivers/hid/usbhid/hid-pidff.c index 6eb7934c8f53..8dfd2c554a27 100644 --- a/drivers/hid/usbhid/hid-pidff.c +++ b/drivers/hid/usbhid/hid-pidff.c @@ -118,7 +118,9 @@ static const u8 pidff_pool[] = { 0x80, 0x83, 0xa9 }; #define PID_DISABLE_ACTUATORS 1 #define PID_STOP_ALL_EFFECTS 2 #define PID_RESET 3 -static const u8 pidff_device_control[] = { 0x97, 0x98, 0x99, 0x9a }; +#define PID_PAUSE 4 +#define PID_CONTINUE 5 +static const u8 pidff_device_control[] = { 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c }; #define PID_CONSTANT 0 #define PID_RAMP 1 @@ -551,21 +553,29 @@ static void pidff_set_gain_report(struct pidff_device *pidff, u16 gain) } /* - * Clear device control report + * Send device control report to the device */ static void pidff_set_device_control(struct pidff_device *pidff, int field) { - int i, tmp; + int i, index; int field_index = pidff->control_id[field]; + if (field_index < 1) + return; + /* Detect if the field is a bitmask variable or an array */ if (pidff->device_control->flags & HID_MAIN_ITEM_VARIABLE) { hid_dbg(pidff->hid, "DEVICE_CONTROL is a bitmask\n"); + /* Clear current bitmask */ for(i = 0; i < sizeof(pidff_device_control); i++) { - tmp = pidff->control_id[i]; - pidff->device_control->value[tmp] = 0; + index = pidff->control_id[i]; + if (index < 1) + continue; + + pidff->device_control->value[index - 1] = 0; } + pidff->device_control->value[field_index - 1] = 1; } else { hid_dbg(pidff->hid, "DEVICE_CONTROL is an array\n");