Re: [PATCH] Input: synaptics - add retry mechanism for reconnect

2013-04-10 Thread James M Leddy
I'll have someone test it out. Thanks for the patch.

On 04/10/2013 01:40 AM, Chung-Yih Wang (王崇懿) wrote:
> Hi Eric Miao, James Leddy and Daniel Manrique,
> 
> If possible, could you give it a try for the patch I have on your device(s)?
> https://patchwork.kernel.org/patch/2156601/
> 
> I think we may address similar issue here. The synaptics device may not
> respond to the commands in synaptics_reconnect() for stress test of
> suspend/resume, so my patch is trying to do 
> the 'retry' for all requests in the reconnect path if one fails.
> 
> 
> 
> On Wed, Feb 20, 2013 at 2:50 AM, Dmitry Torokhov
> mailto:dmitry.torok...@gmail.com>> wrote:
> 
> Hi Chung-yih,
> 
> On Mon, Feb 18, 2013 at 04:40:21PM +0800, Chung-yih Wang wrote:
> > On the Samsung Series 5 Chromebook, the Synaptics ClickPad will
> sometimes not
> > send an "0xFA" PS/2 ACK in response to a command byte during the
> reconnect
> > sequence following a resume from suspend. From our experiments,
> the failure can
> > happen during any byte of any of the commands in the reconnect batch.
> >
> > This failure results in a timeout in the psmouse driver. In
> addition, the
> > ClickPad will often also respond to the next PS/2 command byte
> with an "0xFE"
> > PS/2 RESEND response.
> 
> Since you control the firmware of the device can you figure out under
> what condition the touchpad does not acknowledge the commands sent to it
> and fix it there?
> 
> Thanks.
> 
> --
> Dmitry
> 
> 

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


[PATCH 1/1][RESUBMIT] input: fix weird issue of synaptics psmouse sync lost after resume

2013-04-09 Thread James M Leddy
From: Eric Miao 

In summary, the symptom is intermittent key events lost after resume
on some machines with synaptics touchpad (seems this is synaptics _only_),
and key events loss is due to serio port reconnect after psmouse sync lost.
Removing psmouse and inserting it back during the suspend/resume process
is able to work around the issue, so the difference between
psmouse_connect()
and psmouse_reconnect() is the key to the root cause of this problem.

After comparing the two different paths, synaptics driver has its own
implementation of synaptics_reconnect(), and the missing psmouse_probe()
seems significant, the patch below added psmouse_probe() to the reconnect
process, and has been verified many times that the issue could not be
reliably
reproduced.

There are two PS/2 commands in psmouse_probe():

  1. PSMOUSE_CMD_GETID
  2. PSMOUSE_CMD_RESET_DIS

Only the PSMOUSE_CMD_GETID seems to be significant. The
PSMOUSE_CMD_RESET_DIS is irrelevant to this issue after trying
several times.  So we have only implemented this patch to issue
the PSMOUSE_CMD_GETID so far.

Tested-by: Daniel Manrique 
Signed-off-by: James M Leddy 
---
 drivers/input/mouse/synaptics.c |2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/input/mouse/synaptics.c
b/drivers/input/mouse/synaptics.c
index 12d12ca..3438a9d 100644
--- a/drivers/input/mouse/synaptics.c
+++ b/drivers/input/mouse/synaptics.c
@@ -1355,6 +1355,7 @@ static int synaptics_reconnect(struct psmouse
*psmouse)
 {
struct synaptics_data *priv = psmouse->private;
struct synaptics_data old_priv = *priv;
+   unsigned char param[2];
int retry = 0;
int error;
 @@ -1370,6 +1371,7 @@ static int synaptics_reconnect(struct psmouse
*psmouse)
 */
ssleep(1);
}
+   ps2_command(&psmouse->ps2dev, param, PSMOUSE_CMD_GETID);
error = synaptics_detect(psmouse, 0);
} while (error && ++retry < 3);
 -- 1.7.9.5





Re: [PATCH 0/1][RESUBMIT] input: fix weird issue of synaptics psmouse sync lost

2013-04-09 Thread James M Leddy
I meant to send this to linux-input

On 04/09/2013 08:30 PM, James M Leddy wrote:
> We have been using this patch in Ubuntu kernels for 5 months now
> without issue. Since patch author Eric Miao no longer works for us,
> I'm sending to the list so that other distros can take advantage of
> this.
> 
> Last we left off, the suggestion was to make this generic across the
> entire range of protocols, not just synaptics. I'm against this for
> two reasons. The first is that I don't want to have to ask for
> additional testing (I don't have access to the machine). The second
> and far more important reason is that I am afraid that this will break
> other non-synaptics touchpads, and even though we have a wide range of
> hardware, it is impossible to guarantee that it'll work on everything
> out there. I will do it however if it's the way we need to go with
> this.
> 
> Please let me know what you think, or if you need any additional
> information or testing.
> 
> James M Leddy (1):
>   input: fix weird issue of synaptics psmouse sync lost
> after resume
> 
>  drivers/input/mouse/synaptics.c |2 ++
>  1 file changed, 2 insertions(+)
> 

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


[PATCH 1/1][RESUBMIT] input: fix weird issue of synaptics psmouse sync lost after resume

2013-04-09 Thread James M Leddy
From: Eric Miao 

In summary, the symptom is intermittent key events lost after resume
on some machines with synaptics touchpad (seems this is synaptics _only_),
and key events loss is due to serio port reconnect after psmouse sync lost.
Removing psmouse and inserting it back during the suspend/resume process
is able to work around the issue, so the difference between psmouse_connect()
and psmouse_reconnect() is the key to the root cause of this problem.

After comparing the two different paths, synaptics driver has its own
implementation of synaptics_reconnect(), and the missing psmouse_probe()
seems significant, the patch below added psmouse_probe() to the reconnect
process, and has been verified many times that the issue could not be reliably
reproduced.

There are two PS/2 commands in psmouse_probe():

  1. PSMOUSE_CMD_GETID
  2. PSMOUSE_CMD_RESET_DIS

Only the PSMOUSE_CMD_GETID seems to be significant. The
PSMOUSE_CMD_RESET_DIS is irrelevant to this issue after trying
several times.  So we have only implemented this patch to issue
the PSMOUSE_CMD_GETID so far.

Tested-by: Daniel Manrique 
Signed-off-by: James M Leddy 
---
 drivers/input/mouse/synaptics.c |2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
index 12d12ca..3438a9d 100644
--- a/drivers/input/mouse/synaptics.c
+++ b/drivers/input/mouse/synaptics.c
@@ -1355,6 +1355,7 @@ static int synaptics_reconnect(struct psmouse *psmouse)
 {
struct synaptics_data *priv = psmouse->private;
struct synaptics_data old_priv = *priv;
+   unsigned char param[2];
int retry = 0;
int error;
 
@@ -1370,6 +1371,7 @@ static int synaptics_reconnect(struct psmouse *psmouse)
 */
ssleep(1);
}
+   ps2_command(&psmouse->ps2dev, param, PSMOUSE_CMD_GETID);
error = synaptics_detect(psmouse, 0);
} while (error && ++retry < 3);
 
-- 
1.7.9.5

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


[PATCH 0/1][RESUBMIT] input: fix weird issue of synaptics psmouse sync lost

2013-04-09 Thread James M Leddy
We have been using this patch in Ubuntu kernels for 5 months now
without issue. Since patch author Eric Miao no longer works for us,
I'm sending to the list so that other distros can take advantage of
this.

Last we left off, the suggestion was to make this generic across the
entire range of protocols, not just synaptics. I'm against this for
two reasons. The first is that I don't want to have to ask for
additional testing (I don't have access to the machine). The second
and far more important reason is that I am afraid that this will break
other non-synaptics touchpads, and even though we have a wide range of
hardware, it is impossible to guarantee that it'll work on everything
out there. I will do it however if it's the way we need to go with
this.

Please let me know what you think, or if you need any additional
information or testing.

James M Leddy (1):
  input: fix weird issue of synaptics psmouse sync lost
after resume

 drivers/input/mouse/synaptics.c |2 ++
 1 file changed, 2 insertions(+)

-- 
1.7.9.5

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


Not just RealTek 8139/dhcpcd..epic100 broken also

2001-04-29 Thread James M

Kernel 2.4.2(working) 2.4.4(broken), Xeon 2-way SMP 400 mhz, 128 mem,
gcc 2.95.3, DHCP Client Daemon v.1.3, Mandrake 7.2
 
2.4.4 is broken with my epic100/dhcpcd2.4.2 works fine. I copied
/lib/module/2.4.2../epic100.o to /lib/modules/2.4.4/../epic100.o with no
success.

Messages error: Apr 29 15:44:24 windeath kernel: eth0: Transmit timeout
using MII device, Tx status 0003.

Followed by more of the same except with status 000b. Unlike the realtek
errors a network stop/start/restart doesn't help. Looking at the patch
for 2.4.4 shows one tiny change to epic100. 

-- 

James M.
aka "Dart"
-
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/



Re: BUG Report 2.4.0-test11-pre3: NMI Watchdoch detected LOCKUP atCPU[01]

2000-11-15 Thread James M

Gert Wollny wrote:
> 
> Hello,
> 
> i think it got it nailed, please try the attached patch (it is against
> 11-pre4, but it should work against all test11).
> 
> Explanation:
> with test7-pre6 in the  imm-module the new scsi - code was enabled (see
> imm.h).
> This causes the locking of the io_request_lock in scsi_register_host
> (scsi.c) during detection of the ZIP drive. Seems, that the request_module
> call for the parport_pc doesn't like this.
> The patch does, what the comment in scsi.c suggests: Enable the new code
> only, after the drive is detected.
> 
> Have a nice day

Thank you Gert. I turned off Winbond support as before and it truly is
"safe to say no" now. Your patch seems to work. Good Job.

Still outstanding:

If (mode=SPP && Zip100) Log_msg("Spp is godawful slow, set for EPP in
bios");
// I don't know off top of my head if Zip250 can use ECP or not
// Zip100 is EPP at best

Imm driver reports Zip100 at 101 MB

ECP/EPP setting in Bios yields SPP for Zip100. 1284 spec says you should
be able to set mode 100 to get EPP and even tho it's a M$ extension most
chipsets should support it.

Speed Sucks: Hdparm reports 496k/sec for EPP on a 64 MB buffered disk
read. 1284 spec says 500k/2 MB for EPP and Iomega says it can do 1.4 MB
sustained for Zip100. Not that it matters but SPP runs 96k/sec.

I'm coding up a parport-poker to get familiar then I'll take a stab at
these if someone doesn't beat me to it.

> 
> Gert
> 
> 
> 
>   
>   Name: imm-lockup.patch
>imm-lockup.patch   Type: Plain Text (TEXT/PLAIN)
>   Encoding: BASE64
>Description: the patch
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Parport/IMM/Zip Oops Revisited -- Winbond

2000-11-14 Thread James M

Gert Wollny wrote:
> 
> On Tue, 14 Nov 2000, James M wrote:
> >Was just trying to find out why I can mount in 11pre1 and 11pre2 when
> > Gert can't mount at all, so I removed my VFAT factory formatted zipdisk
> > and put in an Ext2 formatted one.**BOOM**
> 

The configure help for the Winbond SuperIO states:

"Saying Y here enables some probes for Super-IO chipsets in order to
find out things like base addresses, IRQ lines and DMA channels.  It
is safe to say N."

Enabling this allows me to mount both VFAT and EXT2 in 11pre3, it
appears it should no longer be marked "Experimental" or "Safe to say No"
in the case of Zipdrives at least.

Dunno what time it is over there but could you give this a try when you
get a chance? My port is still misdetected but at least I didn't have to
fsck this time...;=)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Parport/IMM/Zip Oops Revisited -- Filesys problem? Viro pleaselook

2000-11-14 Thread James M

Gert Wollny wrote:
> 
> Actually i never tried to mount in my testings, just did "modprobe imm". I
> did not even load sd.o, which reads the size of the medium. Output after
> successfull modprobe:
> kernel: imm: Version 2.04 (for Linux 2.4.0)
> kernel: imm_connect 1
> kernel: imm: Found device at ID 6, Attempting to use EPP 32 bit
> kernel: imm: Found device at ID 6, Attempting to use PS/2
> kernel: imm: Communication established at 0x378 with ID 6 using PS/2
> kernel: device_check 0
> kernel: scsi1 : Iomega VPI2 (imm) interface
> kernel: scsi : 2 hosts.
> kernel:   Vendor: IOMEGAModel: ZIP 250   Rev: J.45
> kernel:   Type:   Direct-Access  ANSI SCSI revision: 02
> 
> Even without a disk this works (if parport_pc is preloaded).
> 
> Anyway the disk in the drive was a 250MB vfat formatted one. But OTOH, the
> oops trace points to ext2.
> 
> For completeness: With the disk "modprobe sd"  gives

As you say, for completeness:

SCSI subsystem driver Revision: 1.00
parport0: PC-style at 0x378 [PCSPP]
parport0: irq 7 detected
imm: Version 2.04 (for Linux 2.4.0)
imm: Found device at ID 6, Attempting to use EPP 32 bit
imm: Found device at ID 6, Attempting to use SPP
imm: Communication established at 0x378 with ID 6 using SPP
scsi0 : Iomega VPI2 (imm) interface
  Vendor: IOMEGAModel: ZIP 100   Rev: P.05
  Type:   Direct-Access  ANSI SCSI revision: 02
Detected scsi removable disk sda at scsi0, channel 0, id 6, lun 0
SCSI device sda: 196608 512-byte hdwr sectors (101 MB)
sda: Write Protect is off
 sda: sda4

As I noted in a previous posting to the list my Communication type is
misdetected as SPP when it really is EPP. The 101 MB size looks fishy
also as it usually reads 96 MB IIRC.

> 
> kernel: Detected scsi removable disk sda at scsi1, channel 0, id 6, lun 0
> kernel: SCSI device sda: hdwr sector= 512 bytes. Sectors= 489532 [239 MB] [0.2 GB]
> kernel: sda: Write Protect is off
> kernel:  sda: sda4
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Parport/IMM/Zip Oops Revisited -- Filesys problem? Viro please look

2000-11-14 Thread James M

James M wrote:

   Was just trying to find out why I can mount in 11pre1 and 11pre2 when
Gert can't mount at all, so I removed my VFAT factory formatted zipdisk
and put in an Ext2 formatted one.**BOOM**

Al, my original oops report is here:

http://boudicca.tux.org/hypermail/linux-kernel/2000week42/1240.html

Summary: Test10 is broken for both filesystems (sick of fsck'n-not
confirmed)
 11pre1-pre2 work for VFAT broken for EXT2
 11pre3 is broken for both filesystems

   Anything you want me to try just let me know, I've already been
through about 100 fscks, a few more won't hurt.
   BTW I have a list of 23 common non-obvious files that changed in
test10/11pre1 and 11pre2/pre3, say the word and I'll mail the list.

James M.

--30 Gig of fsck sucks--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re:test11-pre1 Parport/IMM/Zip Oops fixed -- Are we in Florida?

2000-11-13 Thread James M

James M wrote:
> 
>My previously reported Parport/Zip Oops seems to have gone away. I
> suspect the SMP race fixs were the culprit...thank you.
>However my parport is still misdetected as SPP by the IMM driver when
> it is actually set to EPP. This is an Epox/SMP Xeon (400 mhz), EP-GXB-M
> with an Award Bios and Winbond Super I/O Multi controller.

Move that one back into the broken column please. It happened between
11pre2 and 11pre3.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re:test11-pre1 - Parport/IMM/Zip Oops fixed

2000-11-07 Thread James M

   My previously reported Parport/Zip Oops seems to have gone away. I
suspect the SMP race fixs were the culprit...thank you.
   However my parport is still misdetected as SPP by the IMM driver when
it is actually set to EPP. This is an Epox/SMP Xeon (400 mhz), EP-GXB-M
with an Award Bios and Winbond Super I/O Multi controller.
   
   Now if we could just do something about those 10 fps in quake that I
lost since 2.3.4x;=)

James M.
aka "Dart"
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: lockup with parport_pc on 2.4.0-test10-pre1]

2000-10-14 Thread James M

Kernel test10-pre2, Dual Xeon PII(400 mhz), Mandrake 7.1, microde
updates enabled

Mounting my zipdrive(IMM) will result in something like this:
Sysrq does not work, machine is completely dead after 20-40 seconds.The
usual progession is CPU's lockup, modprobe dies, kflushed and syslogd
follow shortly afterwards.

NMI Watchdog detected LOCKUP on CPU0, registers:
CPU:0
EIP:0010:[]
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00200086
eax: 2101   ebx: 00200202   ecx: 0001   edx: 001f8f79
esi: 2101   edi: 0084   ebp: 00089e60   esp: c60e7e98
ds: 0018   es: 0018   ss: 0018
Process modprobe (pid: 1207, stackpage=c60e7000)
Stack: c7eb4cc0 0001 c0163bfa 2101 c7eb4cc0  
c60e7f0c
   c0163db1  c7eb4cc0 c7eb4cc0 0001 000c 1000
c01342a2
    0001 c60e7f0c c7fa5a64 c1197a7c c7c7da1c 
1000
Call Trace: [] [] [] []
[] [>EIP; c01d7243<=
Trace; c0163bfa 
Trace; c0163db1 
Trace; c01342a2 
Trace; c0153773 
Trace; c01530a8 
Code;  c01d7243 
 <_EIP>:
Code;  c01d7243<=
   0:   80 3d c4 67 21 c0 00  cmpb   $0x0,0xc02167c4   <=
Code;  c01d724a 
   7:   f3 90 repz nop 
Code;  c01d724c 
   9:   7e f5 jle0 <_EIP>
Code;  c01d724e 
   b:   e9 76 bd f8 ffjmpfff8bd86 <_EIP+0xfff8bd86>
c0162fc9 
Code;  c01d7253 
  10:   80 3d 34 2a 00 00 00  cmpb   $0x0,0x2a34

NMI Watchdog detected LOCKUP on CPU0, registers:
CPU:0
EIP:0010:[]
EFLAGS: 00200086
eax: 2105   ebx: 00200206   ecx: 0005   edx: 00bc1f49
esi: 2105   edi: 0084   ebp: 0010   esp: c1263f7c
ds: 0018   es: 0018   ss: 0018
Process kflushd (pid: 4, stackpage=c1263000)
Stack: c4f042c0 0001 c0163bfa 2105 c4f042c0  0001
c1263fd8
   c0163db1 0001 c4f042c0 0029 c7a9b380 0001 c1262000
c013560a
Warning (Oops_read): Code line not seen, dumping what data is available

>>EIP; c01d7243<=

If anyone has a patch to test let me knowI'll try anything once,
twice if I like it...:=)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/