Re: [PATCH 2/3] hid: 3m: Convert to MT slots

From: Stéphane Chatty
Date: Mon Sep 20 2010 - 16:02:10 EST



Le 20 sept. 10 à 21:51, Henrik Rydberg a écrit :

On 09/20/2010 09:46 PM, Stéphane Chatty wrote:


Le 28 août 10 à 16:29, Henrik Rydberg a écrit :

#define MAX_SLOTS 60
-#define MAX_TRKID 59
+#define MAX_TRKID USHRT_MAX


Oops, I forgot this one: in the rest of the code, it seems to me that you use
your knowledge that TRACKINGID cannot be more than 59 (you use it to map the
tracking ID onto the slot ID). Therefore, why change TRKID to a larger value?


There are only 60 slots available, but an infinite number of tracking ids.
Nowhere is the tracking id assumed to be bounded by anything but MAX_TRKID.


What about this:
+ value = clamp_val(value, 0, MAX_SLOTS - 1);
if (md->valid) {
md->curid = value;
md->f[value].touch = md->touch;

If you had tracking IDs 59, 60 and 61 in the same frame, this would not work properly would it?

St.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/