- if (!priv->multi_packet && (packet[4] & 0x40))+ /*+ * Bit 6 of byte 0 is not usually set in position packets. The only+ * times it seems to be set is in situations where the data is+ * suspect anyway, e.g. a palm resting flat on the touchpad. Given+ * this combined with the fact that this bit is useful for filtering+ * out misidentified bitmap packets, we reject anything with this+ * bit set.+ */+ if (packet[0] & 0x40)+ return;++ if (!priv->multi_packet && (packet[4] & 0x40)) { priv->multi_packet = 1;- else- priv->multi_packet = 0;+ memcpy(priv->multi_data, packet, sizeof(priv->multi_data));+ return;+ }++ priv->multi_packet = 0;