FYI: the upstream fix for this issue has been pulled into the linux-next tree. Not sure if this is upstream enough for the kernel team to backport to 3.0 or 3.1 yet, but I was able to cherry-pick the series into 3.0 with no conflicts.
https://github.com/sfrothwell/linux-next/commits/master/drivers/input/mouse/elantech.c -- Will Dyson