Re: Synaptics and TrackPoint problems in 2.6.12

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 7/20/05, Sergey Vlasov <[email protected]> wrote:
> On Tue, 19 Jul 2005 23:40:18 -0400 Stephen Evanchik wrote:
> 
> > I have been receiving a lot of complaints that TrackPoints on
> > Synaptics pass-thru ports stopped working with 2.6.12. I retested
> > 2.6.9 and 2.6.11-rc3 successfully, I believe 2.6.11.7 may also work
> > but that is unconfirmed at this point.
> >
> > The behavior is always the same .. after sending the read secondary ID
> > command, the TrackPoint seems to be disabled from that point forward.
> >
> > Any ideas?
> 
> Looks like this problem was introduced by the change from PSMOUSE_PS2 to
> PSMOUSE_TRACKPOINT in the TrackPoint support patch.  The Synaptics
> driver needs to know whether the device on the pass-thru port is using
> 3-byte or 4-byte packets; however, instead of checking child->pktsize,
> it checks child->type >= PSMOUSE_GENPS - and this check is now giving a
> wrong result.  Therefore the Synaptics driver configures the pass-thru
> port for 4-byte packets, and all 3-byte packets from TrackPoint seem to
> be thrown away.

Oh, yes, that would do it.

> The patch below is reported to fix the problem - now the 4-byte mode is
> used only if child->pktsize == 4. 

That is the correct fix.

> Another option is to change the
> PSMOUSE_TRACKPOINT value so that it is less than PSMOUSE_GENPS, 

No, protocol numbers should not be changed as userspace drivers/setups
check them and rely on them being stable. That's why psmouse->pktsize
was introduced to begin with. Unfortunately synaptics pass-through
piece was missed and not adjusted.

I will add the patch to my tree, thanks!

> In theory, someone could attach a device which uses 6-byte packets to
> the Synaptics pass-thru port; I'm not sure what would happen in this
> case, but with Synaptics confugured for 3-byte packets (as the patch
> below will do) this configuration even has a chance of working.

I don't think it can support more than 4 byte packets. bytes 0 and 3
are protocol markers and can't be readily used for transmitting other
protocols data.

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

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux