The issue is indeed that the driver incorrectly handles palm detection, but it wasn't quite what I thought. It invalidates the packets generated by palm contact, which causes it to think it lost sync and attempt a resync. I have attached a patch that fixes this issue by instead simply setting the number of contacts to zero upon palm contact (thereby doing nothing).
The issue is indeed that the driver incorrectly handles palm detection, but it wasn't quite what I thought. It invalidates the packets generated by palm contact, which causes it to think it lost sync and attempt a resync. I have attached a patch that fixes this issue by instead simply setting the number of contacts to zero upon palm contact (thereby doing nothing).