2005-11-18 18:28:59

by Marc Burkhardt

[permalink] [raw]
Subject: 2.6.15-rc1-mm2 unsusable on DELL Inspiron 8200, 2.6.15-rc1 works fine

Hi all,

I didn't manage to read all the archive yet and I'm new to the list
anyways. I wanted to report that 2.6.15-rc1-mm2 is unusable in an X
enviroment due to the mouse pointer hanging, jumping or not even working
at all. The behaviour occurs randomly.

The messages state oops like these:

Nov 18 12:57:44 stiffy kernel: klogd 1.4.1#17, log source = /proc/kmsg started.
Nov 18 12:57:44 stiffy kernel: Inspecting /boot/System.map-2.6.15-rc1-mm2-marc
Nov 18 12:57:44 stiffy kernel: Loaded 21818 symbols from /boot/System.map-2.6.15-rc1-mm2-marc.
Nov 18 12:57:44 stiffy kernel: Symbols match kernel version 2.6.15.
Nov 18 12:57:45 stiffy kernel: No module symbols loaded - kernel modules not enabled.
Nov 18 12:57:45 stiffy kernel: /GPIO/TCO
Nov 18 12:57:45 stiffy kernel: PCI quirk: region 0880-08bf claimed by ICH4 GPIO
Nov 18 12:57:45 stiffy kernel: PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.1
Nov 18 12:57:45 stiffy kernel: PCI: Transparent bridge - 0000:00:1e.0
Nov 18 12:57:45 stiffy kernel: ACPI: PCI Interrupt Link [LNKA] (IRQs 9 10 *11)
Nov 18 12:57:45 stiffy kernel: ACPI: PCI Interrupt Link [LNKB] (IRQs 5 7) *11
Nov 18 12:57:45 stiffy kernel: ACPI: PCI Interrupt Link [LNKC] (IRQs 9 10 *11)
Nov 18 12:57:45 stiffy kernel: ACPI: PCI Interrupt Link [LNKD] (IRQs 5 7 9 10 *11)
Nov 18 12:57:45 stiffy kernel: ACPI: Power Resource [PADA] (on)
Nov 18 12:57:45 stiffy kernel: Linux Plug and Play Support v0.97 (c) Adam Belay
Nov 18 12:57:45 stiffy kernel: pnp: PnP ACPI init
Nov 18 12:57:45 stiffy kernel: pnp: PnP ACPI: found 18 devices
Nov 18 12:57:45 stiffy kernel: PCI: Using ACPI for IRQ routing
Nov 18 12:57:45 stiffy kernel: PCI: Routing PCI interrupts for all devices because "pci=routeirq" specified
Nov 18 12:57:45 stiffy kernel: ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11
Nov 18 12:57:45 stiffy kernel: PCI: setting IRQ 11 as level-triggered
Nov 18 12:57:45 stiffy kernel: ACPI: PCI Interrupt 0000:00:1d.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
Nov 18 12:57:45 stiffy kernel: ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 11
Nov 18 12:57:45 stiffy kernel: ACPI: PCI Interrupt 0000:00:1d.2[C] -> Link [LNKC] -> GSI 11 (level, low) -> IRQ 11
Nov 18 12:57:45 stiffy kernel: ACPI: PCI Interrupt 0000:00:1f.1[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
Nov 18 12:57:45 stiffy kernel: ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 5
Nov 18 12:57:45 stiffy kernel: PCI: setting IRQ 5 as level-triggered
Nov 18 12:57:45 stiffy kernel: ACPI: PCI Interrupt 0000:00:1f.5[B] -> Link [LNKB] -> GSI 5 (level, low) -> IRQ 5
Nov 18 12:57:45 stiffy kernel: ACPI: PCI Interrupt 0000:00:1f.6[B] -> Link [LNKB] -> GSI 5 (level, low) -> IRQ 5
Nov 18 12:57:45 stiffy kernel: ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
Nov 18 12:57:45 stiffy kernel: ACPI: PCI Interrupt 0000:02:00.0[A] -> Link [LNKC] -> GSI 11 (level, low) -> IRQ 11
Nov 18 12:57:45 stiffy kernel: ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11
Nov 18 12:57:45 stiffy kernel: ACPI: PCI Interrupt 0000:02:01.0[A] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
Nov 18 12:57:45 stiffy kernel: ACPI: PCI Interrupt 0000:02:01.1[A] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
Nov 18 12:57:45 stiffy kernel: ACPI: PCI Interrupt 0000:02:01.2[A] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
Nov 18 12:57:45 stiffy kernel: pnp: 00:02: ioport range 0x4d0-0x4d1 has been reserved
Nov 18 12:57:45 stiffy kernel: pnp: 00:02: ioport range 0x800-0x805 could not be reserved
Nov 18 12:57:45 stiffy kernel: pnp: 00:02: ioport range 0x808-0x80f could not be reserved
Nov 18 12:57:45 stiffy kernel: pnp: 00:03: ioport range 0x806-0x807 has been reserved
Nov 18 12:57:45 stiffy kernel: pnp: 00:03: ioport range 0x810-0x85f could not be reserved
Nov 18 12:57:45 stiffy kernel: pnp: 00:03: ioport range 0x860-0x87f has been reserved
Nov 18 12:57:45 stiffy kernel: pnp: 00:03: ioport range 0x880-0x8bf has been reserved
Nov 18 12:57:45 stiffy kernel: pnp: 00:03: ioport range 0x8c0-0x8df has been reserved
Nov 18 12:57:45 stiffy kernel: pnp: 00:03: ioport range 0x8e0-0x8ff has been reserved
Nov 18 12:57:45 stiffy kernel: pnp: 00:04: ioport range 0xf000-0xf0fe has been reserved
Nov 18 12:57:45 stiffy kernel: pnp: 00:04: ioport range 0xf100-0xf1fe has been reserved
Nov 18 12:57:45 stiffy kernel: pnp: 00:04: ioport range 0xf200-0xf2fe has been reserved
Nov 18 12:57:45 stiffy kernel: pnp: 00:04: ioport range 0xf400-0xf4fe has been reserved
Nov 18 12:57:45 stiffy kernel: pnp: 00:04: ioport range 0xf500-0xf5fe has been reserved
Nov 18 12:57:45 stiffy kernel: pnp: 00:04: ioport range 0xf600-0xf6fe has been reserved
Nov 18 12:57:45 stiffy kernel: pnp: 00:04: ioport range 0xf800-0xf8fe has been reserved
Nov 18 12:57:45 stiffy kernel: pnp: 00:04: ioport range 0xf900-0xf9fe has been reserved
Nov 18 12:57:45 stiffy kernel: pnp: 00:09: ioport range 0x900-0x91f has been reserved
Nov 18 12:57:45 stiffy kernel: pnp: 00:09: ioport range 0x3f0-0x3f1 has been reserved
Nov 18 12:57:45 stiffy kernel: pnp: 00:10: ioport range 0xbf40-0xbf5f has been reserved
Nov 18 12:57:45 stiffy kernel: PCI: Bridge: 0000:00:01.0
Nov 18 12:57:45 stiffy kernel: IO window: c000-cfff
Nov 18 12:57:45 stiffy kernel: MEM window: fc000000-fdffffff
Nov 18 12:57:45 stiffy kernel: PREFETCH window: e0000000-e7ffffff
Nov 18 12:57:45 stiffy kernel: PCI: Bus 3, cardbus bridge: 0000:02:01.0
Nov 18 12:57:45 stiffy kernel: IO window: 0000e000-0000e0ff
Nov 18 12:57:46 stiffy kernel: IO window: 0000e400-0000e4ff
Nov 18 12:57:46 stiffy kernel: PREFETCH window: 30000000-31ffffff
Nov 18 12:57:46 stiffy kernel: MEM window: f4000000-f5ffffff
Nov 18 12:57:46 stiffy kernel: PCI: Bus 7, cardbus bridge: 0000:02:01.1
Nov 18 12:57:46 stiffy kernel: IO window: 0000e800-0000e8ff
Nov 18 12:57:47 stiffy kernel: IO window: 00001000-000010ff
Nov 18 12:57:47 stiffy kernel: PREFETCH window: 32000000-33ffffff
Nov 18 12:57:47 stiffy kernel: MEM window: f6000000-f7ffffff
Nov 18 12:57:47 stiffy kernel: PCI: Bridge: 0000:00:1e.0
Nov 18 12:57:47 stiffy kernel: IO window: e000-ffff
Nov 18 12:57:47 stiffy kernel: MEM window: f4000000-fbffffff
Nov 18 12:57:48 stiffy kernel: PREFETCH window: 30000000-34ffffff
Nov 18 12:57:49 stiffy kernel: PCI: Enabling device 0000:02:01.0 (0000 -> 0003)
Nov 18 12:57:49 stiffy kernel: ACPI: PCI Interrupt 0000:02:01.0[A] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
Nov 18 12:57:49 stiffy kernel: PCI: Enabling device 0000:02:01.1 (0000 -> 0003)
Nov 18 12:57:49 stiffy kernel: ACPI: PCI Interrupt 0000:02:01.1[A] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
Nov 18 12:57:49 stiffy kernel: audit: initializing netlink socket (disabled)
Nov 18 12:57:49 stiffy kernel: audit(1132315003.646:1): initialized
Nov 18 12:57:49 stiffy kernel: VFS: Disk quotas dquot_6.5.1
Nov 18 12:57:49 stiffy kernel: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
Nov 18 12:57:49 stiffy kernel: Initializing Cryptographic API
Nov 18 12:57:49 stiffy kernel: io scheduler noop registered
Nov 18 12:57:49 stiffy kernel: io scheduler anticipatory registered
Nov 18 12:57:49 stiffy kernel: io scheduler deadline registered
Nov 18 12:57:49 stiffy kernel: io scheduler cfq registered
Nov 18 12:57:49 stiffy kernel: vesafb: framebuffer at 0xe0000000, mapped to 0xe0880000, using 5120k, total 32768k
Nov 18 12:57:49 stiffy kernel: vesafb: mode is 1280x1024x16, linelength=2560, pages=1
Nov 18 12:57:49 stiffy kernel: vesafb: protected mode interface info at c000:d6a0
Nov 18 12:57:49 stiffy kernel: vesafb: scrolling: redraw
Nov 18 12:57:49 stiffy kernel: vesafb: Truecolor: size=0:5:6:5, shift=0:11:5:0
Nov 18 12:57:49 stiffy kernel: Console: switching to colour frame buffer device 160x64
Nov 18 12:57:49 stiffy kernel: fb0: VESA VGA frame buffer device
Nov 18 12:57:49 stiffy kernel: PNP: PS/2 Controller [PNP0303:KBC,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
Nov 18 12:57:49 stiffy kernel: serio: i8042 AUX port at 0x60,0x64 irq 12
Nov 18 12:57:49 stiffy kernel: serio: i8042 KBD port at 0x60,0x64 irq 1
Nov 18 12:57:49 stiffy kernel: Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
Nov 18 12:57:49 stiffy kernel: serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
Nov 18 12:57:49 stiffy kernel: serial8250: ttyS3 at I/O 0x2e8 (irq = 3) is a 16550A
Nov 18 12:57:49 stiffy kernel: serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
Nov 18 12:57:49 stiffy kernel: 00:0d: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
Nov 18 12:57:49 stiffy kernel: ACPI: PCI Interrupt 0000:00:1f.6[B] -> Link [LNKB] -> GSI 5 (level, low) -> IRQ 5
Nov 18 12:57:49 stiffy kernel: ACPI: PCI interrupt for device 0000:00:1f.6 disabled
Nov 18 12:57:49 stiffy kernel: RAMDISK driver initialized: 4 RAM disks of 8192K size 1024 blocksize
Nov 18 12:57:49 stiffy kernel: Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
Nov 18 12:57:50 stiffy kernel: ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
Nov 18 12:57:50 stiffy kernel: ICH3M: IDE controller at PCI slot 0000:00:1f.1
Nov 18 12:57:50 stiffy kernel: PCI: Enabling device 0000:00:1f.1 (0005 -> 0007)
Nov 18 12:57:50 stiffy kernel: ACPI: PCI Interrupt 0000:00:1f.1[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
Nov 18 12:57:50 stiffy kernel: ICH3M: chipset revision 2
Nov 18 12:57:50 stiffy kernel: ICH3M: not 100%% native mode: will probe irqs later
Nov 18 12:57:50 stiffy kernel: ide0: BM-DMA at 0xbfa0-0xbfa7, BIOS settings: hda:DMA, hdb:DMA
Nov 18 12:57:50 stiffy kernel: ide1: BM-DMA at 0xbfa8-0xbfaf, BIOS settings: hdc:pio, hdd:pio
Nov 18 12:57:50 stiffy kernel: input: AT Translated Set 2 keyboard as /class/input/input0
Nov 18 12:57:50 stiffy kernel: hda: HTS726060M9AT00, ATA DISK drive
Nov 18 12:57:50 stiffy kernel: hdb: HL-DT-STCD-RW/DVD-ROM GCC-4240N, ATAPI CD/DVD-ROM drive
Nov 18 12:57:51 stiffy kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Nov 18 12:57:51 stiffy kernel: hda: max request size: 1024KiB
Nov 18 12:57:51 stiffy kernel: hda: 117210240 sectors (60011 MB) w/7877KiB Cache, CHS=16383/255/63
Nov 18 12:57:51 stiffy kernel: hda: cache flushes supported
Nov 18 12:57:51 stiffy kernel: hda: hda1 hda2 < hda5 hda6 hda7 hda8 >
Nov 18 12:57:51 stiffy kernel: EISA: Probing bus 0 at eisa.0
Nov 18 12:57:51 stiffy kernel: NET: Registered protocol family 2
Nov 18 12:57:51 stiffy kernel: IP route cache hash table entries: 8192 (order: 3, 32768 bytes)
Nov 18 12:57:51 stiffy kernel: TCP established hash table entries: 32768 (order: 5, 131072 bytes)
Nov 18 12:57:51 stiffy kernel: TCP bind hash table entries: 32768 (order: 5, 131072 bytes)
Nov 18 12:57:51 stiffy irattach: executing: 'echo stiffy > /proc/sys/net/irda/devname'
Nov 18 12:57:51 stiffy kernel: TCP: Hash tables configured (established 32768 bind 32768)
Nov 18 12:57:52 stiffy irattach: executing: 'echo 1 > /proc/sys/net/irda/discovery'
Nov 18 12:57:52 stiffy kernel: TCP reno registered
Nov 18 12:57:54 stiffy irattach: Starting device irda0
Nov 18 12:57:54 stiffy kernel: TCP bic registered
Nov 18 12:57:55 stiffy kernel: NET: Registered protocol family 8
Nov 18 12:57:55 stiffy kernel: NET: Registered protocol family 20
Nov 18 12:57:55 stiffy kernel: Using IPI Shortcut mode
Nov 18 12:57:55 stiffy kernel: ACPI wakeup devices:
Nov 18 12:57:56 stiffy kernel: LID PBTN PCI0 UAR1 USB0 USB1 USB2 MODM PCIE MPCI
Nov 18 12:57:56 stiffy kernel: ACPI: (supports S0 S1 S3 S4 S5)
Nov 18 12:57:56 stiffy kernel: BIOS EDD facility v0.16 2004-Jun-25, 1 devices found
Nov 18 12:57:56 stiffy kernel: RAMDISK: cramfs filesystem found at block 0
Nov 18 12:57:56 stiffy kernel: RAMDISK: Loading 1184KiB [1 disk] into ram disk... |^H/^H-^H\^H|^H/^H-^H\^H|^H/^H-^H\^H|^H/^H-^H\^H|^H/^H-^H\^H|^H/^H-^H\^H|^H/^H-^H\^H|^H/^H-^H\^H|^H/^H-^H\^H|^H/^H-^H\^H|^H/^H-^H\^H|^H/^H-^H\^H|^H/^H-^H\^H|^H/^H-^H\^H|^H/^H-^H\^H|^H/^H-^H\^H|^H/^H-^H\^H|^H/^H-^H\^H|^H/^Hdone.
Nov 18 12:57:56 stiffy kernel: VFS: Mounted root (cramfs filesystem) readonly.
Nov 18 12:57:56 stiffy kernel: Freeing unused kernel memory: 236k freed
Nov 18 12:57:56 stiffy kernel: NET: Registered protocol family 1
Nov 18 12:57:56 stiffy kernel: ReiserFS: hda7: found reiserfs format "3.6" with standard journal
Nov 18 12:57:56 stiffy kernel: ReiserFS: hda7: using ordered data mode
Nov 18 12:57:57 stiffy kernel: ReiserFS: hda7: journal params: device hda7, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
Nov 18 12:57:57 stiffy kernel: ReiserFS: hda7: checking transaction log (hda7)
Nov 18 12:57:57 stiffy kernel: ReiserFS: hda7: Using r5 hash to sort names
Nov 18 12:57:57 stiffy kernel: Linux agpgart interface v0.101 (c) Dave Jones
Nov 18 12:57:57 stiffy kernel: agpgart: Detected an Intel i845 Chipset.
Nov 18 12:57:57 stiffy kernel: agpgart: AGP aperture is 64M @ 0xe8000000
Nov 18 12:57:57 stiffy kernel: usbcore: registered new driver usbfs
Nov 18 12:57:57 stiffy kernel: usbcore: registered new driver hub
Nov 18 12:57:57 stiffy kernel: USB Universal Host Controller Interface driver v2.3
Nov 18 12:57:57 stiffy kernel: ACPI: PCI Interrupt 0000:00:1d.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
Nov 18 12:57:57 stiffy kernel: uhci_hcd 0000:00:1d.0: UHCI Host Controller
Nov 18 12:57:57 stiffy kernel: uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 1
Nov 18 12:57:57 stiffy kernel: uhci_hcd 0000:00:1d.0: irq 11, io base 0x0000bf80
Nov 18 12:57:57 stiffy kernel: hub 1-0:1.0: USB hub found
Nov 18 12:57:57 stiffy kernel: hub 1-0:1.0: 2 ports detected
Nov 18 12:57:57 stiffy kernel: ACPI: PCI Interrupt 0000:00:1d.2[C] -> Link [LNKC] -> GSI 11 (level, low) -> IRQ 11
Nov 18 12:57:57 stiffy kernel: uhci_hcd 0000:00:1d.2: UHCI Host Controller
Nov 18 12:57:57 stiffy kernel: uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 2
Nov 18 12:57:58 stiffy kernel: uhci_hcd 0000:00:1d.2: irq 11, io base 0x0000bf20
Nov 18 12:57:58 stiffy kernel: hub 2-0:1.0: USB hub found
Nov 18 12:57:58 stiffy kernel: hub 2-0:1.0: 2 ports detected
Nov 18 12:57:58 stiffy kernel: usb 2-1: new full speed USB device using uhci_hcd and address 2
Nov 18 12:57:58 stiffy kernel: hw_random hardware driver 1.0.0 loaded
Nov 18 12:57:58 stiffy kernel: hdb: ATAPI 24X DVD-ROM CD-R/RW drive, 2048kB Cache
Nov 18 12:57:58 stiffy kernel: Uniform CD-ROM driver Revision: 3.20
Nov 18 12:57:58 stiffy kernel: ACPI: PCI Interrupt 0000:00:1f.6[B] -> Link [LNKB] -> GSI 5 (level, low) -> IRQ 5
Nov 18 12:57:58 stiffy kernel: MC'97 1 converters and GPIO not ready (0xff00)
Nov 18 12:57:58 stiffy kernel: Real Time Clock Driver v1.12
Nov 18 12:57:58 stiffy kernel: ACPI: PCI Interrupt 0000:02:01.2[A] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
Nov 18 12:57:58 stiffy kernel: ohci1394: fw-host0: OHCI-1394 1.0 (PCI): IRQ=[11] MMIO=[f8fff000-f8fff7ff] Max Packet=[2048]
Nov 18 12:57:58 stiffy kernel: input: PC Speaker as /class/input/input1
Nov 18 12:57:58 stiffy kernel: Floppy drive(s): fd0 is 1.44M
Nov 18 12:57:58 stiffy kernel: FDC 0 is a post-1991 82077
Nov 18 12:57:59 stiffy kernel: ACPI: PCI Interrupt 0000:02:01.0[A] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
Nov 18 12:57:59 stiffy kernel: Yenta: CardBus bridge found at 0000:02:01.0 [1028:00d4]
Nov 18 12:57:59 stiffy kernel: Yenta: Using CSCINT to route CSC interrupts to PCI
Nov 18 12:57:59 stiffy kernel: Yenta: Routing CardBus interrupts to PCI
Nov 18 12:57:59 stiffy kernel: Yenta TI: socket 0000:02:01.0, mfunc 0x05033002, devctl 0x64
Nov 18 12:57:59 stiffy kernel: ACPI: PCI Interrupt 0000:00:1f.5[B] -> Link [LNKB] -> GSI 5 (level, low) -> IRQ 5
Nov 18 12:57:59 stiffy kernel: Yenta: ISA IRQ mask 0x0498, PCI irq 11
Nov 18 12:57:59 stiffy kernel: Socket status: 30000010
Nov 18 12:57:59 stiffy kernel: pcmcia: parent PCI bridge I/O window: 0xe000 - 0xffff
Nov 18 12:57:59 stiffy kernel: cs: IO port probe 0xe000-0xffff: clean.
Nov 18 12:57:59 stiffy kernel: pcmcia: parent PCI bridge Memory window: 0xf4000000 - 0xfbffffff
Nov 18 12:57:59 stiffy kernel: pcmcia: parent PCI bridge Memory window: 0x30000000 - 0x34ffffff
Nov 18 12:57:59 stiffy kernel: ACPI: PCI Interrupt 0000:02:01.1[A] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
Nov 18 12:57:59 stiffy kernel: Yenta: CardBus bridge found at 0000:02:01.1 [1028:00d4]
Nov 18 12:57:59 stiffy kernel: Yenta: Using CSCINT to route CSC interrupts to PCI
Nov 18 12:57:59 stiffy kernel: Yenta: Routing CardBus interrupts to PCI
Nov 18 12:57:59 stiffy kernel: Yenta TI: socket 0000:02:01.1, mfunc 0x05033002, devctl 0x64
Nov 18 12:57:59 stiffy kernel: parport: PnPBIOS parport detected.
Nov 18 12:57:59 stiffy kernel: parport0: PC-style at 0x378 (0x778), irq 7, dma 3 [PCSPP,TRISTATE,COMPAT,ECP,DMA]
Nov 18 12:57:59 stiffy kernel: intel8x0_measure_ac97_clock: measured 50346 usecs
Nov 18 12:57:59 stiffy kernel: intel8x0: clocking to 48000
Nov 18 12:57:59 stiffy kernel: Yenta: ISA IRQ mask 0x0418, PCI irq 11
Nov 18 12:57:59 stiffy kernel: Socket status: 30000006
Nov 18 12:57:59 stiffy kernel: pcmcia: parent PCI bridge I/O window: 0xe000 - 0xffff
Nov 18 12:57:59 stiffy kernel: cs: IO port probe 0xe000-0xffff: clean.
Nov 18 12:57:59 stiffy kernel: pcmcia: parent PCI bridge Memory window: 0xf4000000 - 0xfbffffff
Nov 18 12:57:59 stiffy kernel: pcmcia: parent PCI bridge Memory window: 0x30000000 - 0x34ffffff
Nov 18 12:57:59 stiffy kernel: ACPI: PCI Interrupt 0000:02:00.0[A] -> Link [LNKC] -> GSI 11 (level, low) -> IRQ 11
Nov 18 12:57:59 stiffy kernel: 3c59x: Donald Becker and others. http://www.scyld.com/network/vortex.html
Nov 18 12:57:59 stiffy kernel: 0000:02:00.0: 3Com PCI 3c905C Tornado at e0f2ac00. Vers LK1.1.19
Nov 18 12:57:59 stiffy kernel: input: ImPS/2 Generic Wheel Mouse as /class/input/input2
Nov 18 12:57:59 stiffy kernel: pccard: PCMCIA card inserted into slot 0
Nov 18 12:57:59 stiffy kernel: SCSI subsystem initialized
Nov 18 12:57:59 stiffy kernel: Initializing USB Mass Storage driver...
Nov 18 12:57:59 stiffy kernel: scsi0 : SCSI emulation for USB Mass Storage devices
Nov 18 12:57:59 stiffy kernel: usbcore: registered new driver usb-storage
Nov 18 12:57:59 stiffy kernel: USB Mass Storage support registered.
Nov 18 12:57:59 stiffy kernel: eth1394: eth1: IEEE-1394 IPv4 over 1394 Ethernet (fw-host0)
Nov 18 12:57:59 stiffy kernel: Adding 1461872k swap on /dev/hda8. Priority:-1 extents:1 across:1461872k
Nov 18 12:57:59 stiffy kernel: Vendor: IC25N040 Model: ATCS04-0 Rev: CA4O
Nov 18 12:57:59 stiffy kernel: Type: Direct-Access ANSI SCSI revision: 00
Nov 18 12:57:59 stiffy kernel: SCSI device sda: 78140160 512-byte hdwr sectors (40008 MB)
Nov 18 12:57:59 stiffy kernel: SCSI device sda: 78140160 512-byte hdwr sectors (40008 MB)
Nov 18 12:57:59 stiffy kernel: sda: sda1
Nov 18 12:57:59 stiffy kernel: sd 0:0:0:0: Attached scsi disk sda
Nov 18 12:57:59 stiffy kernel: mice: PS/2 mouse device common for all mice
Nov 18 12:57:59 stiffy kernel: usbcore: registered new driver usbmouse
Nov 18 12:57:59 stiffy kernel: drivers/usb/input/usbmouse.c: v1.6:USB HID Boot Protocol mouse driver
Nov 18 12:57:59 stiffy kernel: Bluetooth: Core ver 2.8
Nov 18 12:57:59 stiffy kernel: NET: Registered protocol family 31
Nov 18 12:57:59 stiffy kernel: Bluetooth: HCI device and connection manager initialized
Nov 18 12:57:59 stiffy kernel: Bluetooth: HCI socket layer initialized
Nov 18 12:57:59 stiffy kernel: Bluetooth: HCI UART driver ver 2.2
Nov 18 12:57:59 stiffy kernel: Bluetooth: HCI H4 protocol initialized
Nov 18 12:57:59 stiffy kernel: Bluetooth: HCI BCSP protocol initialized
Nov 18 12:58:00 stiffy kernel: Dell laptop SMM driver v1.14 21/02/2005 Massimo Dal Zotto ([email protected])
Nov 18 12:58:00 stiffy kernel: Bluetooth: L2CAP ver 2.8
Nov 18 12:58:00 stiffy kernel: Bluetooth: L2CAP socket layer initialized
Nov 18 12:58:00 stiffy kernel: Bluetooth: HIDP (Human Interface Emulation) ver 1.1
Nov 18 12:58:00 stiffy kernel: Bluetooth: RFCOMM socket layer initialized
Nov 18 12:58:00 stiffy kernel: Bluetooth: RFCOMM TTY layer initialized
Nov 18 12:58:00 stiffy kernel: Bluetooth: RFCOMM ver 1.6
Nov 18 12:58:00 stiffy kernel: EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
Nov 18 12:58:00 stiffy kernel: ReiserFS: hda6: found reiserfs format "3.6" with standard journal
Nov 18 12:58:00 stiffy kernel: ReiserFS: hda6: using ordered data mode
Nov 18 12:58:00 stiffy kernel: ReiserFS: hda6: journal params: device hda6, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
Nov 18 12:58:00 stiffy kernel: ReiserFS: hda6: checking transaction log (hda6)
Nov 18 12:58:00 stiffy kernel: ReiserFS: hda6: Using r5 hash to sort names
Nov 18 12:58:00 stiffy kernel: ReiserFS: hda5: found reiserfs format "3.6" with standard journal
Nov 18 12:58:00 stiffy kernel: ReiserFS: hda5: using ordered data mode
Nov 18 12:58:00 stiffy kernel: ReiserFS: hda5: journal params: device hda5, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
Nov 18 12:58:00 stiffy kernel: ReiserFS: hda5: checking transaction log (hda5)
Nov 18 12:58:00 stiffy kernel: ReiserFS: hda5: Using r5 hash to sort names
Nov 18 12:58:00 stiffy kernel: ReiserFS: sda1: found reiserfs format "3.6" with standard journal
Nov 18 12:58:00 stiffy kernel: ReiserFS: sda1: using ordered data mode
Nov 18 12:58:00 stiffy kernel: ReiserFS: sda1: journal params: device sda1, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
Nov 18 12:58:00 stiffy kernel: ReiserFS: sda1: checking transaction log (sda1)
Nov 18 12:58:00 stiffy kernel: ReiserFS: sda1: Using r5 hash to sort names
Nov 18 12:58:00 stiffy kernel: ACPI: PCI Interrupt 0000:02:00.0[A] -> Link [LNKC] -> GSI 11 (level, low) -> IRQ 11
Nov 18 12:58:00 stiffy kernel: cs: memory probe 0xf4000000-0xfbffffff: excluding 0xf4000000-0xf8ffffff
Nov 18 12:58:00 stiffy kernel: pcmcia: registering new device pcmcia0.0
Nov 18 12:58:01 stiffy kernel: pcmcia: Detected deprecated PCMCIA ioctl usage.
Nov 18 12:58:01 stiffy kernel: pcmcia: This interface will soon be removed from the kernel; please expect breakage unless you upgrade to new tools.
Nov 18 12:58:01 stiffy kernel: pcmcia: see http://www.kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html for details.
Nov 18 12:58:01 stiffy kernel: cs: IO port probe 0x100-0x4ff: excluding 0x170-0x177 0x300-0x307 0x370-0x37f
Nov 18 12:58:01 stiffy kernel: cs: IO port probe 0x100-0x4ff: excluding 0x170-0x177 0x300-0x307 0x370-0x37f
Nov 18 12:58:01 stiffy kernel: cs: IO port probe 0x800-0x8ff: clean.
Nov 18 12:58:01 stiffy kernel: cs: IO port probe 0x800-0x8ff: clean.
Nov 18 12:58:01 stiffy kernel: cs: IO port probe 0xc00-0xcff: clean.
Nov 18 12:58:01 stiffy kernel: cs: IO port probe 0xc00-0xcff: clean.
Nov 18 12:58:01 stiffy kernel: cs: IO port probe 0xa00-0xaff: clean.
Nov 18 12:58:01 stiffy kernel: cs: IO port probe 0xa00-0xaff: clean.
Nov 18 12:58:01 stiffy kernel: ttyS1: detected caps 00000700 should be 00000100
Nov 18 12:58:01 stiffy kernel: 0.0: ttyS1 at I/O 0xe100 (irq = 3) is a 16C950/954
Nov 18 12:58:01 stiffy kernel: 0.0: ttyS2 at I/O 0xe108 (irq = 3) is a 8250
Nov 18 12:58:01 stiffy kernel: ip_conntrack version 2.4 (4095 buckets, 32760 max) - 212 bytes per conntrack
Nov 18 12:58:01 stiffy kernel: ip_tables: (C) 2000-2002 Netfilter core team
Nov 18 12:58:01 stiffy kernel: IA-32 Microcode Update Driver: v1.14 <[email protected]>
Nov 18 12:58:01 stiffy kernel: microcode: CPU0 updated from revision 0x9 to 0x20, date = 06052003
Nov 18 12:58:01 stiffy kernel: IA-32 Microcode Update Driver v1.14 unregistered
Nov 18 12:58:01 stiffy kernel: NET: Registered protocol family 10
Nov 18 12:58:01 stiffy kernel: Disabled Privacy Extensions on device c0340d00(lo)
Nov 18 12:58:01 stiffy kernel: IPv6 over IPv4 tunneling driver
Nov 18 12:58:01 stiffy kernel: ACPI: Battery Slot [BAT0] (battery present)
Nov 18 12:58:01 stiffy kernel: ACPI: Battery Slot [BAT1] (battery present)
Nov 18 12:58:01 stiffy kernel: ACPI: AC Adapter [AC] (on-line)
Nov 18 12:58:02 stiffy kernel: ACPI: CPU0 (power states: C1[C1] C2[C2])
Nov 18 12:58:02 stiffy kernel: ACPI: Processor [CPU0] (supports 8 throttling states)
Nov 18 12:58:02 stiffy kernel: ACPI: Lid Switch [LID]
Nov 18 12:58:02 stiffy kernel: ACPI: Power Button (CM) [PBTN]
Nov 18 12:58:02 stiffy kernel: ACPI: Sleep Button (CM) [SBTN]
Nov 18 12:58:02 stiffy kernel: ACPI: Thermal Zone [THM] (56 C)
Nov 18 12:58:02 stiffy kernel: NET: Registered protocol family 23
Nov 18 12:58:37 stiffy kernel: psmouse.c: Wheel Mouse at isa0060/serio1/input0 lost synchronization, throwing 1 bytes away.

SOME STUFF MISSING? HUH?

Nov 18 13:03:14 stiffy kernel: psmouse.c: resync failed, issuing reconnect request

SOME STUFF MISSING? HUH?

Nov 18 13:05:10 stiffy kernel: 2/0x11d
Nov 18 13:05:10 stiffy kernel: [do_gettimeofday+20/188] do_gettimeofday+0x14/0xbc
Nov 18 13:05:10 stiffy kernel: [zap_pte_range+305/719] zap_pte_range+0x131/0x2cf
Nov 18 13:05:10 stiffy kernel: [unmap_page_range+236/273] unmap_page_range+0xec/0x111
Nov 18 13:05:10 stiffy kernel: [unmap_vmas+193/476] unmap_vmas+0xc1/0x1dc
Nov 18 13:05:10 stiffy kernel: [unmap_region+150/289] unmap_region+0x96/0x121
Nov 18 13:05:11 stiffy kernel: [do_munmap+235/300] do_munmap+0xeb/0x12c
Nov 18 13:05:11 stiffy kernel: [sys_munmap+62/88] sys_munmap+0x3e/0x58
Nov 18 13:05:11 stiffy kernel: [syscall_call+7/11] syscall_call+0x7/0xb
Nov 18 13:05:12 stiffy kernel: [bad_page+134/318] bad_page+0x86/0x13e
Nov 18 13:05:12 stiffy kernel: [free_hot_cold_page+66/285] free_hot_cold_page+0x42/0x11d
Nov 18 13:05:13 stiffy kernel: [do_gettimeofday+20/188] do_gettimeofday+0x14/0xbc
Nov 18 13:05:13 stiffy kernel: [zap_pte_range+305/719] zap_pte_range+0x131/0x2cf
Nov 18 13:05:13 stiffy kernel: [unmap_page_range+236/273] unmap_page_range+0xec/0x111
Nov 18 13:05:13 stiffy kernel: [unmap_vmas+193/476] unmap_vmas+0xc1/0x1dc
Nov 18 13:05:13 stiffy kernel: [unmap_region+150/289] unmap_region+0x96/0x121
Nov 18 13:05:13 stiffy kernel: [do_munmap+235/300] do_munmap+0xeb/0x12c
Nov 18 13:05:13 stiffy kernel: [sys_munmap+62/88] sys_munmap+0x3e/0x58
Nov 18 13:05:13 stiffy kernel: [syscall_call+7/11] syscall_call+0x7/0xb
Nov 18 13:05:14 stiffy kernel: [bad_page+134/318] bad_page+0x86/0x13e
Nov 18 13:05:14 stiffy kernel: [free_hot_cold_page+66/285] free_hot_cold_page+0x42/0x11d
Nov 18 13:05:14 stiffy kernel: [do_gettimeofday+20/188] do_gettimeofday+0x14/0xbc
Nov 18 13:05:14 stiffy kernel: [zap_pte_range+305/719] zap_pte_range+0x131/0x2cf
Nov 18 13:05:14 stiffy kernel: [unmap_page_range+236/273] unmap_page_range+0xec/0x111
Nov 18 13:05:14 stiffy kernel: [unmap_vmas+193/476] unmap_vmas+0xc1/0x1dc
Nov 18 13:05:14 stiffy kernel: [unmap_region+150/289] unmap_region+0x96/0x121
Nov 18 13:05:14 stiffy kernel: [do_munmap+235/300] do_munmap+0xeb/0x12c
Nov 18 13:05:15 stiffy kernel: [sys_munmap+62/88] sys_munmap+0x3e/0x58
Nov 18 13:05:15 stiffy kernel: [syscall_call+7/11] syscall_call+0x7/0xb
Nov 18 13:05:19 stiffy kernel: [bad_page+134/318] bad_page+0x86/0x13e
Nov 18 13:05:19 stiffy kernel: [free_hot_cold_page+66/285] free_hot_cold_page+0x42/0x11d
Nov 18 13:05:19 stiffy kernel: [do_gettimeofday+20/188] do_gettimeofday+0x14/0xbc
Nov 18 13:05:19 stiffy kernel: [zap_pte_range+305/719] zap_pte_range+0x131/0x2cf
Nov 18 13:05:20 stiffy kernel: [unmap_page_range+236/273] unmap_page_range+0xec/0x111
Nov 18 13:05:20 stiffy kernel: [unmap_vmas+193/476] unmap_vmas+0xc1/0x1dc
Nov 18 13:05:20 stiffy kernel: [unmap_region+150/289] unmap_region+0x96/0x121
Nov 18 13:05:20 stiffy kernel: [do_munmap+235/300] do_munmap+0xeb/0x12c
Nov 18 13:05:20 stiffy kernel: [sys_munmap+62/88] sys_munmap+0x3e/0x58
Nov 18 13:05:20 stiffy kernel: [syscall_call+7/11] syscall_call+0x7/0xb
Nov 18 13:05:24 stiffy kernel: [bad_page+134/318] bad_page+0x86/0x13e
Nov 18 13:05:24 stiffy kernel: [free_hot_cold_page+66/285] free_hot_cold_page+0x42/0x11d
Nov 18 13:05:24 stiffy kernel: [do_gettimeofday+20/188] do_gettimeofday+0x14/0xbc
Nov 18 13:05:24 stiffy kernel: [zap_pte_range+305/719] zap_pte_range+0x131/0x2cf
Nov 18 13:05:24 stiffy kernel: [unmap_page_range+236/273] unmap_page_range+0xec/0x111
Nov 18 13:05:24 stiffy kernel: [unmap_vmas+193/476] unmap_vmas+0xc1/0x1dc
Nov 18 13:05:24 stiffy kernel: [unmap_region+150/289] unmap_region+0x96/0x121
Nov 18 13:05:24 stiffy kernel: [do_munmap+235/300] do_munmap+0xeb/0x12c
Nov 18 13:05:24 stiffy kernel: [sys_munmap+62/88] sys_munmap+0x3e/0x58
Nov 18 13:05:24 stiffy kernel: [syscall_call+7/11] syscall_call+0x7/0xb
Nov 18 13:05:32 stiffy kernel: [bad_page+134/318] bad_page+0x86/0x13e
Nov 18 13:05:32 stiffy kernel: [free_hot_cold_page+66/285] free_hot_cold_page+0x42/0x11d
Nov 18 13:05:32 stiffy kernel: [do_gettimeofday+20/188] do_gettimeofday+0x14/0xbc
Nov 18 13:05:32 stiffy kernel: [zap_pte_range+305/719] zap_pte_range+0x131/0x2cf
Nov 18 13:05:32 stiffy kernel: [unmap_page_range+236/273] unmap_page_range+0xec/0x111
Nov 18 13:05:32 stiffy kernel: [unmap_vmas+193/476] unmap_vmas+0xc1/0x1dc
Nov 18 13:05:32 stiffy kernel: [unmap_region+150/289] unmap_region+0x96/0x121
Nov 18 13:05:32 stiffy kernel: [do_munmap+235/300] do_munmap+0xeb/0x12c
Nov 18 13:05:32 stiffy kernel: [sys_munmap+62/88] sys_munmap+0x3e/0x58
Nov 18 13:05:32 stiffy kernel: [syscall_call+7/11] syscall_call+0x7/0xb
Nov 18 13:05:36 stiffy kernel: [bad_page+134/318] bad_page+0x86/0x13e
Nov 18 13:05:36 stiffy kernel: [free_hot_cold_page+66/285] free_hot_cold_page+0x42/0x11d
Nov 18 13:05:36 stiffy kernel: [do_gettimeofday+20/188] do_gettimeofday+0x14/0xbc
Nov 18 13:05:36 stiffy kernel: [zap_pte_range+305/719] zap_pte_range+0x131/0x2cf
Nov 18 13:05:36 stiffy kernel: [unmap_page_range+236/273] unmap_page_range+0xec/0x111
Nov 18 13:05:36 stiffy kernel: [unmap_vmas+193/476] unmap_vmas+0xc1/0x1dc
Nov 18 13:05:36 stiffy kernel: [unmap_region+150/289] unmap_region+0x96/0x121
Nov 18 13:05:36 stiffy kernel: [do_munmap+235/300] do_munmap+0xeb/0x12c
Nov 18 13:05:36 stiffy kernel: [sys_munmap+62/88] sys_munmap+0x3e/0x58
Nov 18 13:05:37 stiffy kernel: [syscall_call+7/11] syscall_call+0x7/0xb
Nov 18 13:05:41 stiffy kernel: [bad_page+134/318] bad_page+0x86/0x13e
Nov 18 13:05:42 stiffy kernel: [free_hot_cold_page+66/285] free_hot_cold_page+0x42/0x11d
Nov 18 13:05:42 stiffy kernel: [do_gettimeofday+20/188] do_gettimeofday+0x14/0xbc
Nov 18 13:05:42 stiffy kernel: [zap_pte_range+305/719] zap_pte_range+0x131/0x2cf
Nov 18 13:05:42 stiffy kernel: [unmap_page_range+236/273] unmap_page_range+0xec/0x111
Nov 18 13:05:42 stiffy kernel: [unmap_vmas+193/476] unmap_vmas+0xc1/0x1dc
Nov 18 13:05:42 stiffy kernel: [unmap_region+150/289] unmap_region+0x96/0x121
Nov 18 13:05:42 stiffy kernel: [do_munmap+235/300] do_munmap+0xeb/0x12c
Nov 18 13:05:42 stiffy kernel: [sys_munmap+62/88] sys_munmap+0x3e/0x58
Nov 18 13:05:42 stiffy kernel: [syscall_call+7/11] syscall_call+0x7/0xb
Nov 18 13:05:45 stiffy kernel: [bad_page+134/318] bad_page+0x86/0x13e
Nov 18 13:05:45 stiffy kernel: [free_hot_cold_page+66/285] free_hot_cold_page+0x42/0x11d
Nov 18 13:05:45 stiffy kernel: [do_gettimeofday+20/188] do_gettimeofday+0x14/0xbc
Nov 18 13:05:45 stiffy kernel: [zap_pte_range+305/719] zap_pte_range+0x131/0x2cf
Nov 18 13:05:45 stiffy kernel: [unmap_page_range+236/273] unmap_page_range+0xec/0x111
Nov 18 13:05:45 stiffy kernel: [unmap_vmas+193/476] unmap_vmas+0xc1/0x1dc
Nov 18 13:05:45 stiffy kernel: [unmap_region+150/289] unmap_region+0x96/0x121
Nov 18 13:05:45 stiffy kernel: [do_munmap+235/300] do_munmap+0xeb/0x12c
Nov 18 13:05:45 stiffy kernel: [sys_munmap+62/88] sys_munmap+0x3e/0x58
Nov 18 13:05:45 stiffy kernel: [syscall_call+7/11] syscall_call+0x7/0xb
Nov 18 13:05:47 stiffy kernel: [bad_page+134/318] bad_page+0x86/0x13e
Nov 18 13:05:47 stiffy kernel: [free_hot_cold_page+66/285] free_hot_cold_page+0x42/0x11d
Nov 18 13:05:47 stiffy kernel: [zap_pte_range+305/719] zap_pte_range+0x131/0x2cf
Nov 18 13:05:47 stiffy kernel: [unmap_page_range+236/273] unmap_page_range+0xec/0x111
Nov 18 13:05:47 stiffy kernel: [unmap_vmas+193/476] unmap_vmas+0xc1/0x1dc
Nov 18 13:05:47 stiffy kernel: [unmap_region+150/289] unmap_region+0x96/0x121
Nov 18 13:05:47 stiffy kernel: [do_munmap+235/300] do_munmap+0xeb/0x12c
Nov 18 13:05:47 stiffy kernel: [sys_munmap+62/88] sys_munmap+0x3e/0x58
Nov 18 13:05:47 stiffy kernel: [syscall_call+7/11] syscall_call+0x7/0xb
Nov 18 13:05:52 stiffy kernel: [bad_page+134/318] bad_page+0x86/0x13e
Nov 18 13:05:53 stiffy kernel: [free_hot_cold_page+66/285] free_hot_cold_page+0x42/0x11d
Nov 18 13:05:53 stiffy kernel: [zap_pte_range+305/719] zap_pte_range+0x131/0x2cf
Nov 18 13:05:53 stiffy kernel: [unmap_page_range+236/273] unmap_page_range+0xec/0x111
Nov 18 13:05:53 stiffy kernel: [unmap_vmas+193/476] unmap_vmas+0xc1/0x1dc
Nov 18 13:05:53 stiffy kernel: [unmap_region+150/289] unmap_region+0x96/0x121
Nov 18 13:05:53 stiffy kernel: [do_munmap+235/300] do_munmap+0xeb/0x12c
Nov 18 13:05:53 stiffy kernel: [sys_munmap+62/88] sys_munmap+0x3e/0x58
Nov 18 13:05:53 stiffy kernel: [syscall_call+7/11] syscall_call+0x7/0xb
Nov 18 13:06:00 stiffy kernel: [bad_page+134/318] bad_page+0x86/0x13e
Nov 18 13:06:00 stiffy kernel: [free_hot_cold_page+66/285] free_hot_cold_page+0x42/0x11d
Nov 18 13:06:00 stiffy kernel: [zap_pte_range+305/719] zap_pte_range+0x131/0x2cf
Nov 18 13:06:00 stiffy kernel: [unmap_page_range+236/273] unmap_page_range+0xec/0x111
Nov 18 13:06:00 stiffy kernel: [unmap_vmas+193/476] unmap_vmas+0xc1/0x1dc
Nov 18 13:06:00 stiffy kernel: [unmap_region+150/289] unmap_region+0x96/0x121
Nov 18 13:06:00 stiffy kernel: [do_munmap+235/300] do_munmap+0xeb/0x12c
Nov 18 13:06:00 stiffy kernel: [sys_munmap+62/88] sys_munmap+0x3e/0x58
Nov 18 13:06:00 stiffy kernel: [syscall_call+7/11] syscall_call+0x7/0xb
Nov 18 13:06:04 stiffy kernel: [bad_page+134/318] bad_page+0x86/0x13e
Nov 18 13:06:04 stiffy kernel: [free_hot_cold_page+66/285] free_hot_cold_page+0x42/0x11d
Nov 18 13:06:04 stiffy kernel: [zap_pte_range+305/719] zap_pte_range+0x131/0x2cf
Nov 18 13:06:04 stiffy kernel: [unmap_page_range+236/273] unmap_page_range+0xec/0x111
Nov 18 13:06:04 stiffy kernel: [unmap_vmas+193/476] unmap_vmas+0xc1/0x1dc
Nov 18 13:06:04 stiffy kernel: [unmap_region+150/289] unmap_region+0x96/0x121
Nov 18 13:06:04 stiffy kernel: [do_munmap+235/300] do_munmap+0xeb/0x12c
Nov 18 13:06:04 stiffy kernel: [sys_munmap+62/88] sys_munmap+0x3e/0x58
Nov 18 13:06:04 stiffy kernel: [syscall_call+7/11] syscall_call+0x7/0xb
Nov 18 13:07:39 stiffy shutdown[7944]: shutting down for system reboot
Nov 18 13:07:41 stiffy gconfd (marc-7214): Signal 15 erhalten, ordungsgem??es Herunterfahren
Nov 18 13:07:42 stiffy gconfd (marc-7214): Beenden
Nov 18 13:07:46 stiffy kernel: [bad_page+134/318] bad_page+0x86/0x13e
Nov 18 13:07:46 stiffy kernel: [free_hot_cold_page+66/285] free_hot_cold_page+0x42/0x11d
Nov 18 13:07:46 stiffy kernel: [zap_pte_range+305/719] zap_pte_range+0x131/0x2cf
Nov 18 13:07:46 stiffy kernel: [unmap_page_range+236/273] unmap_page_range+0xec/0x111
Nov 18 13:07:46 stiffy kernel: [unmap_vmas+193/476] unmap_vmas+0xc1/0x1dc
Nov 18 13:07:46 stiffy kernel: [exit_mmap+120/255] exit_mmap+0x78/0xff
Nov 18 13:07:46 stiffy kernel: [mmput+51/239] mmput+0x33/0xef
Nov 18 13:07:46 stiffy kernel: [do_exit+257/1168] do_exit+0x101/0x490
Nov 18 13:07:47 stiffy kernel: [do_group_exit+46/153] do_group_exit+0x2e/0x99
Nov 18 13:07:47 stiffy kernel: [syscall_call+7/11] syscall_call+0x7/0xb
Nov 18 13:07:49 stiffy irattach: got SIGTERM or SIGINT
Nov 18 13:07:49 stiffy irattach: Stopping device irda0
Nov 18 13:07:49 stiffy kernel: [bad_page+134/318] bad_page+0x86/0x13e
Nov 18 13:07:49 stiffy kernel: [free_hot_cold_page+66/285] free_hot_cold_page+0x42/0x11d
Nov 18 13:07:49 stiffy kernel: [zap_pte_range+305/719] zap_pte_range+0x131/0x2cf
Nov 18 13:07:49 stiffy kernel: [unmap_page_range+236/273] unmap_page_range+0xec/0x111
Nov 18 13:07:49 stiffy kernel: [unmap_vmas+193/476] unmap_vmas+0xc1/0x1dc
Nov 18 13:07:49 stiffy kernel: [exit_mmap+120/255] exit_mmap+0x78/0xff
Nov 18 13:07:49 stiffy kernel: [mmput+51/239] mmput+0x33/0xef
Nov 18 13:07:49 stiffy kernel: [do_exit+257/1168] do_exit+0x101/0x490
Nov 18 13:07:49 stiffy kernel: [do_group_exit+46/153] do_group_exit+0x2e/0x99
Nov 18 13:07:49 stiffy kernel: [syscall_call+7/11] syscall_call+0x7/0xb
Nov 18 13:07:51 stiffy kernel: [bad_page+134/318] bad_page+0x86/0x13e
Nov 18 13:07:51 stiffy kernel: [free_hot_cold_page+66/285] free_hot_cold_page+0x42/0x11d
Nov 18 13:07:51 stiffy kernel: [zap_pte_range+305/719] zap_pte_range+0x131/0x2cf
Nov 18 13:07:51 stiffy kernel: [unmap_page_range+236/273] unmap_page_range+0xec/0x111
Nov 18 13:07:51 stiffy kernel: [unmap_vmas+193/476] unmap_vmas+0xc1/0x1dc
Nov 18 13:07:51 stiffy kernel: [exit_mmap+120/255] exit_mmap+0x78/0xff
Nov 18 13:07:51 stiffy kernel: [mmput+51/239] mmput+0x33/0xef
Nov 18 13:07:51 stiffy kernel: [do_exit+257/1168] do_exit+0x101/0x490
Nov 18 13:07:51 stiffy kernel: [do_group_exit+46/153] do_group_exit+0x2e/0x99
Nov 18 13:07:51 stiffy kernel: [syscall_call+7/11] syscall_call+0x7/0xb
Nov 18 13:07:52 stiffy kernel: [bad_page+134/318] bad_page+0x86/0x13e
Nov 18 13:07:52 stiffy kernel: [free_hot_cold_page+66/285] free_hot_cold_page+0x42/0x11d
Nov 18 13:07:53 stiffy kernel: [zap_pte_range+305/719] zap_pte_range+0x131/0x2cf
Nov 18 13:07:53 stiffy kernel: [unmap_page_range+236/273] unmap_page_range+0xec/0x111
Nov 18 13:07:53 stiffy kernel: [unmap_vmas+193/476] unmap_vmas+0xc1/0x1dc
Nov 18 13:07:53 stiffy kernel: [exit_mmap+120/255] exit_mmap+0x78/0xff
Nov 18 13:07:53 stiffy kernel: [mmput+51/239] mmput+0x33/0xef
Nov 18 13:07:53 stiffy kernel: [do_exit+257/1168] do_exit+0x101/0x490
Nov 18 13:07:53 stiffy kernel: [do_group_exit+46/153] do_group_exit+0x2e/0x99
Nov 18 13:07:53 stiffy kernel: [syscall_call+7/11] syscall_call+0x7/0xb
Nov 18 13:07:53 stiffy kernel: [bad_page+134/318] bad_page+0x86/0x13e
Nov 18 13:07:54 stiffy kernel: [free_hot_cold_page+66/285] free_hot_cold_page+0x42/0x11d
Nov 18 13:07:54 stiffy kernel: [zap_pte_range+305/719] zap_pte_range+0x131/0x2cf
Nov 18 13:07:54 stiffy kernel: [unmap_page_range+236/273] unmap_page_range+0xec/0x111
Nov 18 13:07:54 stiffy kernel: [unmap_vmas+193/476] unmap_vmas+0xc1/0x1dc
Nov 18 13:07:54 stiffy kernel: [exit_mmap+120/255] exit_mmap+0x78/0xff
Nov 18 13:07:54 stiffy kernel: [mmput+51/239] mmput+0x33/0xef
Nov 18 13:07:54 stiffy kernel: [do_exit+257/1168] do_exit+0x101/0x490
Nov 18 13:07:54 stiffy kernel: [do_group_exit+46/153] do_group_exit+0x2e/0x99
Nov 18 13:07:54 stiffy kernel: [syscall_call+7/11] syscall_call+0x7/0xb
Nov 18 13:07:55 stiffy kernel: [bad_page+134/318] bad_page+0x86/0x13e
Nov 18 13:07:55 stiffy kernel: [free_hot_cold_page+66/285] free_hot_cold_page+0x42/0x11d
Nov 18 13:07:55 stiffy kernel: [zap_pte_range+305/719] zap_pte_range+0x131/0x2cf
Nov 18 13:07:55 stiffy kernel: [unmap_page_range+236/273] unmap_page_range+0xec/0x111
Nov 18 13:07:55 stiffy kernel: [unmap_vmas+193/476] unmap_vmas+0xc1/0x1dc
Nov 18 13:07:56 stiffy kernel: [exit_mmap+120/255] exit_mmap+0x78/0xff
Nov 18 13:07:56 stiffy kernel: [mmput+51/239] mmput+0x33/0xef
Nov 18 13:07:56 stiffy kernel: [do_exit+257/1168] do_exit+0x101/0x490
Nov 18 13:07:56 stiffy kernel: [do_group_exit+46/153] do_group_exit+0x2e/0x99
Nov 18 13:07:56 stiffy kernel: [syscall_call+7/11] syscall_call+0x7/0xb
Nov 18 13:07:56 stiffy kernel: [bad_page+134/318] bad_page+0x86/0x13e
Nov 18 13:07:56 stiffy kernel: [free_hot_cold_page+66/285] free_hot_cold_page+0x42/0x11d
Nov 18 13:07:56 stiffy kernel: [zap_pte_range+305/719] zap_pte_range+0x131/0x2cf
Nov 18 13:07:56 stiffy kernel: [unmap_page_range+236/273] unmap_page_range+0xec/0x111
Nov 18 13:07:57 stiffy exiting on signal 15

REBOOT ... using 2.6.15-rc1.

Nov 18 13:09:21 stiffy syslogd 1.4.1#17: restart.
Nov 18 13:09:22 stiffy kernel: klogd 1.4.1#17, log source = /proc/kmsg started.
Nov 18 13:09:23 stiffy kernel: Inspecting /boot/System.map-2.6.15-rc1-marc
Nov 18 13:09:23 stiffy kernel: Loaded 21499 symbols from /boot/System.map-2.6.15-rc1-marc.

Please ask if this information is not enough. I'll try to gather some more if you ask for it.
It's my first report, guys.. ;)

Ragards,
Marc


Attachments:
(No filename) (39.29 kB)
signature.asc (189.00 B)
Digital signature
Download all attachments

2005-11-18 19:29:28

by Hugh Dickins

[permalink] [raw]
Subject: Re: 2.6.15-rc1-mm2 unsusable on DELL Inspiron 8200, 2.6.15-rc1 works fine

On Fri, 18 Nov 2005, Marc Koschewski wrote:
>
> I didn't manage to read all the archive yet

That should only keep you busy for a year or two!

> and I'm new to the list
> anyways. I wanted to report that 2.6.15-rc1-mm2 is unusable in an X
> enviroment due to the mouse pointer hanging, jumping or not even working
> at all. The behaviour occurs randomly.

Many thanks for the report. It looks from the messages at the end as
if this is a manifestation of my PageReserved "Bad page states" that
2.6.15-rc1-mm2 was particularly put out to check for.

Unfortunately your logging system is cutting out the most important info
(perhaps because that's marked KERN_EMERG and the stack trace is not):
I get lost in these logging setups myself so can't tell you what to do
to correct it: but maybe running "dmesg" will give the full output.

However, I've got four other reporters (though you're the first to
mention the mouse), and hope to be able to work it out from their info,
so don't worry if you can't track down the full Bad page state messages.

Thanks,
Hugh

> Nov 18 13:05:12 stiffy kernel: [bad_page+134/318] bad_page+0x86/0x13e
> Nov 18 13:05:12 stiffy kernel: [free_hot_cold_page+66/285] free_hot_cold_page+0x42/0x11d
> Nov 18 13:05:13 stiffy kernel: [do_gettimeofday+20/188] do_gettimeofday+0x14/0xbc
> Nov 18 13:05:13 stiffy kernel: [zap_pte_range+305/719] zap_pte_range+0x131/0x2cf
> Nov 18 13:05:13 stiffy kernel: [unmap_page_range+236/273] unmap_page_range+0xec/0x111
> Nov 18 13:05:13 stiffy kernel: [unmap_vmas+193/476] unmap_vmas+0xc1/0x1dc
> Nov 18 13:05:13 stiffy kernel: [unmap_region+150/289] unmap_region+0x96/0x121
> Nov 18 13:05:13 stiffy kernel: [do_munmap+235/300] do_munmap+0xeb/0x12c
> Nov 18 13:05:13 stiffy kernel: [sys_munmap+62/88] sys_munmap+0x3e/0x58
> Nov 18 13:05:13 stiffy kernel: [syscall_call+7/11] syscall_call+0x7/0xb
> Nov 18 13:05:14 stiffy kernel: [bad_page+134/318] bad_page+0x86/0x13e
> Nov 18 13:05:14 stiffy kernel: [free_hot_cold_page+66/285] free_hot_cold_page+0x42/0x11d
> ....

2005-11-19 00:31:46

by Marc Burkhardt

[permalink] [raw]
Subject: Re: 2.6.15-rc1-mm2 unsusable on DELL Inspiron 8200, 2.6.15-rc1 works fine

* Hugh Dickins <[email protected]> [2005-11-18 19:28:09 +0000]:

> On Fri, 18 Nov 2005, Marc Koschewski wrote:
> >
> > I didn't manage to read all the archive yet
>
> That should only keep you busy for a year or two!
>
> > and I'm new to the list
> > anyways. I wanted to report that 2.6.15-rc1-mm2 is unusable in an X
> > enviroment due to the mouse pointer hanging, jumping or not even working
> > at all. The behaviour occurs randomly.
>
> Many thanks for the report. It looks from the messages at the end as
> if this is a manifestation of my PageReserved "Bad page states" that
> 2.6.15-rc1-mm2 was particularly put out to check for.
>
> Unfortunately your logging system is cutting out the most important info
> (perhaps because that's marked KERN_EMERG and the stack trace is not):
> I get lost in these logging setups myself so can't tell you what to do
> to correct it: but maybe running "dmesg" will give the full output.
>
> However, I've got four other reporters (though you're the first to
> mention the mouse), and hope to be able to work it out from their info,
> so don't worry if you can't track down the full Bad page state messages.
>
> Thanks,
> Hugh

Hi Hugh,

I'm glad the report was at least a little useful. To be 'more precise':
I ran dmesg at the time all the stuff appeared in any console I had open
at that time. In between the enormous amount of lines of data the kernel
told me something about 'reboot needed' as well as the kernel tries to
cleanup something. Maybe that helps you, too. I just grep'ing the sources
to locate the printk() spiting the messages...

I located the message at mm/page_alloc.c:149 in bad_page(), just as you
told. ;)

HTH,
Marc

>
> > Nov 18 13:05:12 stiffy kernel: [bad_page+134/318] bad_page+0x86/0x13e
> > Nov 18 13:05:12 stiffy kernel: [free_hot_cold_page+66/285] free_hot_cold_page+0x42/0x11d
> > Nov 18 13:05:13 stiffy kernel: [do_gettimeofday+20/188] do_gettimeofday+0x14/0xbc
> > Nov 18 13:05:13 stiffy kernel: [zap_pte_range+305/719] zap_pte_range+0x131/0x2cf
> > Nov 18 13:05:13 stiffy kernel: [unmap_page_range+236/273] unmap_page_range+0xec/0x111
> > Nov 18 13:05:13 stiffy kernel: [unmap_vmas+193/476] unmap_vmas+0xc1/0x1dc
> > Nov 18 13:05:13 stiffy kernel: [unmap_region+150/289] unmap_region+0x96/0x121
> > Nov 18 13:05:13 stiffy kernel: [do_munmap+235/300] do_munmap+0xeb/0x12c
> > Nov 18 13:05:13 stiffy kernel: [sys_munmap+62/88] sys_munmap+0x3e/0x58
> > Nov 18 13:05:13 stiffy kernel: [syscall_call+7/11] syscall_call+0x7/0xb
> > Nov 18 13:05:14 stiffy kernel: [bad_page+134/318] bad_page+0x86/0x13e
> > Nov 18 13:05:14 stiffy kernel: [free_hot_cold_page+66/285] free_hot_cold_page+0x42/0x11d
> > ....
>

2005-11-19 03:07:26

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: 2.6.15-rc1-mm2 unsusable on DELL Inspiron 8200, 2.6.15-rc1 works fine

On Friday 18 November 2005 13:29, Marc Koschewski wrote:
> Nov 18 12:58:37 stiffy kernel: psmouse.c: Wheel Mouse at isa0060/serio1/input0 lost synchronization, throwing 1 bytes away.
>
> SOME STUFF MISSING? HUH?
>
> Nov 18 13:03:14 stiffy kernel: psmouse.c: resync failed, issuing reconnect request
>

Hm, this worries me a bit... Could you please try appying the patch
below to plain 2.6.15-rc1 and see if mouse starts misbehaving again?

--
Dmitry

Input: attempt to re-synchronize mouse every 5 seconds

This should help driver to deal vith KVMs that reset mice when
switching between boxes.

Signed-off-by: Dmitry Torokhov <[email protected]>
---

drivers/input/mouse/alps.c | 37 ++++
drivers/input/mouse/logips2pp.c | 2
drivers/input/mouse/psmouse-base.c | 286 ++++++++++++++++++++++++++++---------
drivers/input/mouse/psmouse.h | 7
drivers/input/mouse/synaptics.c | 2
5 files changed, 269 insertions(+), 65 deletions(-)

Index: work/drivers/input/mouse/psmouse.h
===================================================================
--- work.orig/drivers/input/mouse/psmouse.h
+++ work/drivers/input/mouse/psmouse.h
@@ -7,7 +7,7 @@
#define PSMOUSE_CMD_GETINFO 0x03e9
#define PSMOUSE_CMD_SETSTREAM 0x00ea
#define PSMOUSE_CMD_SETPOLL 0x00f0
-#define PSMOUSE_CMD_POLL 0x03eb
+#define PSMOUSE_CMD_POLL 0x00eb /* caller sets number of bytes to receive */
#define PSMOUSE_CMD_GETID 0x02f2
#define PSMOUSE_CMD_SETRATE 0x10f3
#define PSMOUSE_CMD_ENABLE 0x00f4
@@ -23,6 +23,7 @@
enum psmouse_state {
PSMOUSE_IGNORE,
PSMOUSE_INITIALIZING,
+ PSMOUSE_RESYNCING,
PSMOUSE_CMD_MODE,
PSMOUSE_ACTIVATED,
};
@@ -38,9 +39,11 @@ struct psmouse {
void *private;
struct input_dev *dev;
struct ps2dev ps2dev;
+ struct work_struct resync_work;
char *vendor;
char *name;
unsigned char packet[8];
+ unsigned char badbyte;
unsigned char pktcnt;
unsigned char pktsize;
unsigned char type;
@@ -54,6 +57,7 @@ struct psmouse {
unsigned int rate;
unsigned int resolution;
unsigned int resetafter;
+ unsigned int resync_time;
unsigned int smartscroll; /* Logitech only */

psmouse_ret_t (*protocol_handler)(struct psmouse *psmouse, struct pt_regs *regs);
@@ -62,6 +66,7 @@ struct psmouse {

int (*reconnect)(struct psmouse *psmouse);
void (*disconnect)(struct psmouse *psmouse);
+ int (*poll)(struct psmouse *psmouse);

void (*pt_activate)(struct psmouse *psmouse);
void (*pt_deactivate)(struct psmouse *psmouse);
Index: work/drivers/input/mouse/psmouse-base.c
===================================================================
--- work.orig/drivers/input/mouse/psmouse-base.c
+++ work/drivers/input/mouse/psmouse-base.c
@@ -58,6 +58,10 @@ static unsigned int psmouse_resetafter;
module_param_named(resetafter, psmouse_resetafter, uint, 0644);
MODULE_PARM_DESC(resetafter, "Reset device after so many bad packets (0 = never).");

+static unsigned int psmouse_resync_time = 5;
+module_param_named(resync_time, psmouse_resync_time, uint, 0644);
+MODULE_PARM_DESC(resync_time, "How long can mouse stay idle before forcing resync (in seconds, 0 = never).");
+
PSMOUSE_DEFINE_ATTR(protocol, S_IWUSR | S_IRUGO,
NULL,
psmouse_attr_show_protocol, psmouse_attr_set_protocol);
@@ -70,12 +74,16 @@ PSMOUSE_DEFINE_ATTR(resolution, S_IWUSR
PSMOUSE_DEFINE_ATTR(resetafter, S_IWUSR | S_IRUGO,
(void *) offsetof(struct psmouse, resetafter),
psmouse_show_int_attr, psmouse_set_int_attr);
+PSMOUSE_DEFINE_ATTR(resync_time, S_IWUSR | S_IRUGO,
+ (void *) offsetof(struct psmouse, resync_time),
+ psmouse_show_int_attr, psmouse_set_int_attr);

static struct attribute *psmouse_attributes[] = {
&psmouse_attr_protocol.dattr.attr,
&psmouse_attr_rate.dattr.attr,
&psmouse_attr_resolution.dattr.attr,
&psmouse_attr_resetafter.dattr.attr,
+ &psmouse_attr_resync_time.dattr.attr,
NULL
};

@@ -98,6 +106,8 @@ __obsolete_setup("psmouse_rate=");
*/
static DECLARE_MUTEX(psmouse_sem);

+static struct workqueue_struct *kpsmoused_wq;
+
struct psmouse_protocol {
enum psmouse_type type;
char *name;
@@ -178,15 +188,79 @@ static psmouse_ret_t psmouse_process_byt
}

/*
- * psmouse_interrupt() handles incoming characters, either gathering them into
- * packets or passing them to the command routine as command output.
+ * __psmouse_set_state() sets new psmouse state and resets all flags.
+ */
+
+static inline void __psmouse_set_state(struct psmouse *psmouse, enum psmouse_state new_state)
+{
+ psmouse->state = new_state;
+ psmouse->pktcnt = psmouse->out_of_sync = 0;
+ psmouse->ps2dev.flags = 0;
+ psmouse->last = jiffies;
+}
+
+
+/*
+ * psmouse_set_state() sets new psmouse state and resets all flags and
+ * counters while holding serio lock so fighting with interrupt handler
+ * is not a concern.
+ */
+
+static void psmouse_set_state(struct psmouse *psmouse, enum psmouse_state new_state)
+{
+ serio_pause_rx(psmouse->ps2dev.serio);
+ __psmouse_set_state(psmouse, new_state);
+ serio_continue_rx(psmouse->ps2dev.serio);
+}
+
+/*
+ * psmouse_handle_byte() processes one byte of the input data stream
+ * by calling corresponding protocol handler.
+ */
+
+static int psmouse_handle_byte(struct psmouse *psmouse, struct pt_regs *regs)
+{
+ psmouse_ret_t rc = psmouse->protocol_handler(psmouse, regs);
+
+ switch (rc) {
+ case PSMOUSE_BAD_DATA:
+ if (psmouse->state == PSMOUSE_ACTIVATED) {
+ printk(KERN_WARNING "psmouse.c: %s at %s lost sync at byte %d\n",
+ psmouse->name, psmouse->phys, psmouse->pktcnt);
+ if (++psmouse->out_of_sync == psmouse->resetafter) {
+ __psmouse_set_state(psmouse, PSMOUSE_IGNORE);
+ printk(KERN_NOTICE "psmouse.c: issuing reconnect request\n");
+ serio_reconnect(psmouse->ps2dev.serio);
+ return -1;
+ }
+ }
+ psmouse->pktcnt = 0;
+ break;
+
+ case PSMOUSE_FULL_PACKET:
+ psmouse->pktcnt = 0;
+ if (psmouse->out_of_sync) {
+ psmouse->out_of_sync = 0;
+ printk(KERN_NOTICE "psmouse.c: %s at %s - driver resynched.\n",
+ psmouse->name, psmouse->phys);
+ }
+ break;
+
+ case PSMOUSE_GOOD_DATA:
+ break;
+ }
+ return 0;
+}
+
+/*
+ * psmouse_interrupt() handles incoming characters, either passing them
+ * for normal processing or gathering them as command response.
*/

static irqreturn_t psmouse_interrupt(struct serio *serio,
unsigned char data, unsigned int flags, struct pt_regs *regs)
{
struct psmouse *psmouse = serio_get_drvdata(serio);
- psmouse_ret_t rc;

if (psmouse->state == PSMOUSE_IGNORE)
goto out;
@@ -208,67 +282,58 @@ static irqreturn_t psmouse_interrupt(str
if (ps2_handle_response(&psmouse->ps2dev, data))
goto out;

- if (psmouse->state == PSMOUSE_INITIALIZING)
+ if (psmouse->state <= PSMOUSE_RESYNCING)
goto out;

if (psmouse->state == PSMOUSE_ACTIVATED &&
psmouse->pktcnt && time_after(jiffies, psmouse->last + HZ/2)) {
- printk(KERN_WARNING "psmouse.c: %s at %s lost synchronization, throwing %d bytes away.\n",
+ printk(KERN_INFO "psmouse.c: %s at %s lost synchronization, throwing %d bytes away.\n",
psmouse->name, psmouse->phys, psmouse->pktcnt);
- psmouse->pktcnt = 0;
+ psmouse->badbyte = psmouse->packet[0];
+ __psmouse_set_state(psmouse, PSMOUSE_RESYNCING);
+ queue_work(kpsmoused_wq, &psmouse->resync_work);
+ goto out;
}

- psmouse->last = jiffies;
psmouse->packet[psmouse->pktcnt++] = data;
-
- if (psmouse->packet[0] == PSMOUSE_RET_BAT) {
+/*
+ * Check if this is a new device announcement (0xAA 0x00)
+ */
+ if (unlikely(psmouse->packet[0] == PSMOUSE_RET_BAT && psmouse->pktcnt <= 2)) {
if (psmouse->pktcnt == 1)
goto out;

- if (psmouse->pktcnt == 2) {
- if (psmouse->packet[1] == PSMOUSE_RET_ID) {
- psmouse->state = PSMOUSE_IGNORE;
- serio_reconnect(serio);
- goto out;
- }
- if (psmouse->type == PSMOUSE_SYNAPTICS) {
- /* neither 0xAA nor 0x00 are valid first bytes
- * for a packet in absolute mode
- */
- psmouse->pktcnt = 0;
- goto out;
- }
+ if (psmouse->packet[1] == PSMOUSE_RET_ID) {
+ __psmouse_set_state(psmouse, PSMOUSE_IGNORE);
+ serio_reconnect(serio);
+ goto out;
}
- }
-
- rc = psmouse->protocol_handler(psmouse, regs);
+/*
+ * Not a new device, try processing first byte normally
+ */
+ psmouse->pktcnt = 1;
+ if (psmouse_handle_byte(psmouse, regs))
+ goto out;

- switch (rc) {
- case PSMOUSE_BAD_DATA:
- printk(KERN_WARNING "psmouse.c: %s at %s lost sync at byte %d\n",
- psmouse->name, psmouse->phys, psmouse->pktcnt);
- psmouse->pktcnt = 0;
+ psmouse->packet[psmouse->pktcnt++] = data;
+ }

- if (++psmouse->out_of_sync == psmouse->resetafter) {
- psmouse->state = PSMOUSE_IGNORE;
- printk(KERN_NOTICE "psmouse.c: issuing reconnect request\n");
- serio_reconnect(psmouse->ps2dev.serio);
- }
- break;
+/*
+ * See if we need to force resync because mouse was idle for too long
+ */
+ if (psmouse->state == PSMOUSE_ACTIVATED &&
+ psmouse->pktcnt == 1 && psmouse->resync_time &&
+ time_after(jiffies, psmouse->last + psmouse->resync_time * HZ)) {
+ psmouse->badbyte = psmouse->packet[0];
+ __psmouse_set_state(psmouse, PSMOUSE_RESYNCING);
+ queue_work(kpsmoused_wq, &psmouse->resync_work);
+ goto out;
+ }

- case PSMOUSE_FULL_PACKET:
- psmouse->pktcnt = 0;
- if (psmouse->out_of_sync) {
- psmouse->out_of_sync = 0;
- printk(KERN_NOTICE "psmouse.c: %s at %s - driver resynched.\n",
- psmouse->name, psmouse->phys);
- }
- break;
+ psmouse->last = jiffies;
+ psmouse_handle_byte(psmouse, regs);

- case PSMOUSE_GOOD_DATA:
- break;
- }
-out:
+ out:
return IRQ_HANDLED;
}

@@ -755,21 +820,6 @@ static void psmouse_initialize(struct ps
}

/*
- * psmouse_set_state() sets new psmouse state and resets all flags and
- * counters while holding serio lock so fighting with interrupt handler
- * is not a concern.
- */
-
-static void psmouse_set_state(struct psmouse *psmouse, enum psmouse_state new_state)
-{
- serio_pause_rx(psmouse->ps2dev.serio);
- psmouse->state = new_state;
- psmouse->pktcnt = psmouse->out_of_sync = 0;
- psmouse->ps2dev.flags = 0;
- serio_continue_rx(psmouse->ps2dev.serio);
-}
-
-/*
* psmouse_activate() enables the mouse so that we get motion reports from it.
*/

@@ -797,6 +847,100 @@ static void psmouse_deactivate(struct ps
psmouse_set_state(psmouse, PSMOUSE_CMD_MODE);
}

+/*
+ * psmouse_poll() - default poll hanlder. Everyone except for ALPS uses it.
+ */
+
+static int psmouse_poll(struct psmouse *psmouse)
+{
+ return ps2_command(&psmouse->ps2dev, psmouse->packet,
+ PSMOUSE_CMD_POLL | (psmouse->pktsize << 8));
+}
+
+
+/*
+ * psmouse_resync() attempts to re-validate current protocol.
+ */
+
+static void psmouse_resync(void *p)
+{
+ struct psmouse *psmouse = p, *parent = NULL;
+ struct serio *serio = psmouse->ps2dev.serio;
+ psmouse_ret_t rc = PSMOUSE_GOOD_DATA;
+ int failed = 0, enabled = 0;
+ int i;
+
+ down(&psmouse_sem);
+
+ if (psmouse->state != PSMOUSE_RESYNCING)
+ goto out;
+
+ if (serio->parent && serio->id.type == SERIO_PS_PSTHRU) {
+ parent = serio_get_drvdata(serio->parent);
+ psmouse_deactivate(parent);
+ }
+
+/*
+ * Some mice don't ACK commands sent while they are in the middle of
+ * transmitting motion packet. To avoid delay we use ps2_sendbyte()
+ * instead of ps2_command() which would wait for 200ms for an ACK
+ * that may never come.
+ */
+ ps2_sendbyte(&psmouse->ps2dev, PSMOUSE_CMD_DISABLE, 20);
+
+/*
+ * Poll the mouse. If it was reset the packet will be shorter than
+ * psmouse->pktsize and ps2_command will fail. We do not expect and
+ * do not handle scenario when mouse "upgrades" its protocol while
+ * disconnected since it would require additional delay. If we ever
+ * see a mouse that does it we'll adjust the code.
+ */
+ if (psmouse->poll(psmouse))
+ failed = 1;
+ else {
+ psmouse_set_state(psmouse, PSMOUSE_CMD_MODE);
+ for (i = 0; i < psmouse->pktsize; i++) {
+ psmouse->pktcnt++;
+ rc = psmouse->protocol_handler(psmouse, NULL);
+ if (rc != PSMOUSE_GOOD_DATA)
+ break;
+ }
+ if (rc != PSMOUSE_FULL_PACKET)
+ failed = 1;
+ psmouse_set_state(psmouse, PSMOUSE_RESYNCING);
+ }
+
+/*
+ * Now try to enable mouse. We try to do that even if poll failed and also
+ * repeat our attempts 5 times, otherwise we may be left out with disabled
+ * mouse.
+ */
+ for (i = 0; i < 5; i++) {
+ if (!ps2_command(&psmouse->ps2dev, NULL, PSMOUSE_CMD_ENABLE)) {
+ enabled = 1;
+ break;
+ }
+ msleep(200);
+ }
+
+ if (!enabled) {
+ printk(KERN_WARNING "psmouse.c: failed to re-enable mouse on %s\n",
+ psmouse->ps2dev.serio->phys);
+ failed = 1;
+ }
+
+ if (failed) {
+ psmouse_set_state(psmouse, PSMOUSE_IGNORE);
+ printk(KERN_INFO "psmouse.c: resync failed, issuing reconnect request\n");
+ serio_reconnect(serio);
+ } else
+ psmouse_set_state(psmouse, PSMOUSE_ACTIVATED);
+
+ if (parent)
+ psmouse_activate(parent);
+ out:
+ up(&psmouse_sem);
+}

/*
* psmouse_cleanup() resets the mouse into power-on state.
@@ -825,6 +969,11 @@ static void psmouse_disconnect(struct se

psmouse_set_state(psmouse, PSMOUSE_CMD_MODE);

+ /* make sure we don't have a resync in progress */
+ up(&psmouse_sem);
+ flush_workqueue(kpsmoused_wq);
+ down(&psmouse_sem);
+
if (serio->parent && serio->id.type == SERIO_PS_PSTHRU) {
parent = serio_get_drvdata(serio->parent);
psmouse_deactivate(parent);
@@ -862,6 +1011,7 @@ static int psmouse_switch_protocol(struc

psmouse->set_rate = psmouse_set_rate;
psmouse->set_resolution = psmouse_set_resolution;
+ psmouse->poll = psmouse_poll;
psmouse->protocol_handler = psmouse_process_byte;
psmouse->pktsize = 3;

@@ -917,6 +1067,7 @@ static int psmouse_connect(struct serio
goto out;

ps2_init(&psmouse->ps2dev, serio);
+ INIT_WORK(&psmouse->resync_work, psmouse_resync, psmouse);
psmouse->dev = input_dev;
sprintf(psmouse->phys, "%s/input0", serio->phys);

@@ -937,6 +1088,7 @@ static int psmouse_connect(struct serio
psmouse->rate = psmouse_rate;
psmouse->resolution = psmouse_resolution;
psmouse->resetafter = psmouse_resetafter;
+ psmouse->resync_time = parent ? 0 : psmouse_resync_time;
psmouse->smartscroll = psmouse_smartscroll;

psmouse_switch_protocol(psmouse, NULL);
@@ -1281,13 +1433,21 @@ static int psmouse_get_maxproto(char *bu

static int __init psmouse_init(void)
{
+ kpsmoused_wq = create_singlethread_workqueue("kpsmoused");
+ if (!kpsmoused_wq) {
+ printk(KERN_ERR "psmouse: failed to create kpsmoused workqueue\n");
+ return -ENOMEM;
+ }
+
serio_register_driver(&psmouse_drv);
+
return 0;
}

static void __exit psmouse_exit(void)
{
serio_unregister_driver(&psmouse_drv);
+ destroy_workqueue(kpsmoused_wq);
}

module_init(psmouse_init);
Index: work/drivers/input/mouse/logips2pp.c
===================================================================
--- work.orig/drivers/input/mouse/logips2pp.c
+++ work/drivers/input/mouse/logips2pp.c
@@ -117,7 +117,7 @@ static int ps2pp_cmd(struct psmouse *psm
if (psmouse_sliced_command(psmouse, command))
return -1;

- if (ps2_command(&psmouse->ps2dev, param, PSMOUSE_CMD_POLL))
+ if (ps2_command(&psmouse->ps2dev, param, PSMOUSE_CMD_POLL | 0x0300))
return -1;

return 0;
Index: work/drivers/input/mouse/alps.c
===================================================================
--- work.orig/drivers/input/mouse/alps.c
+++ work/drivers/input/mouse/alps.c
@@ -347,6 +347,39 @@ static int alps_tap_mode(struct psmouse
return 0;
}

+/*
+ * alps_poll() - poll the touchpad for current motion packet.
+ * Used in resync.
+ */
+static int alps_poll(struct psmouse *psmouse)
+{
+ struct alps_data *priv = psmouse->private;
+ unsigned char buf[6];
+
+ if (priv->i->flags & ALPS_PASS)
+ alps_passthrough_mode(psmouse, 1);
+
+ if (ps2_command(&psmouse->ps2dev, buf, PSMOUSE_CMD_POLL | (psmouse->pktsize << 8)))
+ return -1;
+
+ if ((buf[0] & priv->i->mask0) != priv->i->byte0)
+ return -1;
+
+ if (priv->i->flags & ALPS_PASS)
+ alps_passthrough_mode(psmouse, 0);
+
+ if ((psmouse->badbyte & 0xc8) == 0x08) {
+/*
+ * Poll the track stick ...
+ */
+ if (ps2_command(&psmouse->ps2dev, buf, PSMOUSE_CMD_POLL | (3 << 8)))
+ return -1;
+ }
+
+ memcpy(psmouse->packet, buf, sizeof(buf));
+ return 0;
+}
+
static int alps_reconnect(struct psmouse *psmouse)
{
struct alps_data *priv = psmouse->private;
@@ -450,10 +483,14 @@ int alps_init(struct psmouse *psmouse)
input_register_device(priv->dev2);

psmouse->protocol_handler = alps_process_byte;
+ psmouse->poll = alps_poll;
psmouse->disconnect = alps_disconnect;
psmouse->reconnect = alps_reconnect;
psmouse->pktsize = 6;

+ /* We are having trouble resyncing ALPS touchpads so disable it for now */
+ psmouse->resync_time = 0;
+
return 0;

init_fail:
Index: work/drivers/input/mouse/synaptics.c
===================================================================
--- work.orig/drivers/input/mouse/synaptics.c
+++ work/drivers/input/mouse/synaptics.c
@@ -652,6 +652,8 @@ int synaptics_init(struct psmouse *psmou
psmouse->disconnect = synaptics_disconnect;
psmouse->reconnect = synaptics_reconnect;
psmouse->pktsize = 6;
+ /* Synaptics can usually stay in sync without extra help */
+ psmouse->resync_time = 0;

if (SYN_CAP_PASS_THROUGH(priv->capabilities))
synaptics_pt_create(psmouse);

2005-11-20 18:38:22

by Marc Burkhardt

[permalink] [raw]
Subject: Re: 2.6.15-rc1-mm2 unsusable on DELL Inspiron 8200, 2.6.15-rc1 works fine

* Dmitry Torokhov <[email protected]> [2005-11-18 22:07:19 -0500]:

> On Friday 18 November 2005 13:29, Marc Koschewski wrote:
> > Nov 18 12:58:37 stiffy kernel: psmouse.c: Wheel Mouse at isa0060/serio1/input0 lost synchronization, throwing 1 bytes away.
> >
> > SOME STUFF MISSING? HUH?
> >
> > Nov 18 13:03:14 stiffy kernel: psmouse.c: resync failed, issuing reconnect request
> >
>
> Hm, this worries me a bit... Could you please try appying the patch
> below to plain 2.6.15-rc1 and see if mouse starts misbehaving again?

Dmitry,

I applied the 5 patches to a plain 2.6.15-rc1. The mouse was well as if it was
in an unpatched kernel. The problem just occured in 2.6.15-rc1-mmX.
Plain 2.6.15-rc1 was fine before as well. So: actually no change.

Need any more info?

Marc

2005-11-22 03:43:53

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: 2.6.15-rc1-mm2 unsusable on DELL Inspiron 8200, 2.6.15-rc1 works fine

On Sunday 20 November 2005 12:14, Marc Koschewski wrote:
> * Dmitry Torokhov <[email protected]> [2005-11-18 22:07:19 -0500]:
>
> > On Friday 18 November 2005 13:29, Marc Koschewski wrote:
> > > Nov 18 12:58:37 stiffy kernel: psmouse.c: Wheel Mouse at isa0060/serio1/input0 lost synchronization, throwing 1 bytes away.
> > >
> > > SOME STUFF MISSING? HUH?
> > >
> > > Nov 18 13:03:14 stiffy kernel: psmouse.c: resync failed, issuing reconnect request
> > >
> >
> > Hm, this worries me a bit... Could you please try appying the patch
> > below to plain 2.6.15-rc1 and see if mouse starts misbehaving again?
>
> Dmitry,
>
> I applied the 5 patches to a plain 2.6.15-rc1. The mouse was well as if it was
> in an unpatched kernel. The problem just occured in 2.6.15-rc1-mmX.
> Plain 2.6.15-rc1 was fine before as well. So: actually no change.
>
> Need any more info?
>

Marc,

Thank you for testing the patch. It proves that your mouse troubles
were not caused by the patch I made so I am very happy. "No change"
is the result I wanted to hear ;)

--
Dmitry

2005-11-22 10:14:12

by Marc Burkhardt

[permalink] [raw]
Subject: Re: 2.6.15-rc1-mm2 unsusable on DELL Inspiron 8200, 2.6.15-rc1 works fine

* Dmitry Torokhov <[email protected]> [2005-11-21 22:43:50 -0500]:

> On Sunday 20 November 2005 12:14, Marc Koschewski wrote:
> > * Dmitry Torokhov <[email protected]> [2005-11-18 22:07:19 -0500]:
> >
> > > On Friday 18 November 2005 13:29, Marc Koschewski wrote:
> > > > Nov 18 12:58:37 stiffy kernel: psmouse.c: Wheel Mouse at isa0060/serio1/input0 lost synchronization, throwing 1 bytes away.
> > > >
> > > > SOME STUFF MISSING? HUH?
> > > >
> > > > Nov 18 13:03:14 stiffy kernel: psmouse.c: resync failed, issuing reconnect request
> > > >
> > >
> > > Hm, this worries me a bit... Could you please try appying the patch
> > > below to plain 2.6.15-rc1 and see if mouse starts misbehaving again?
> >
> > Dmitry,
> >
> > I applied the 5 patches to a plain 2.6.15-rc1. The mouse was well as if it was
> > in an unpatched kernel. The problem just occured in 2.6.15-rc1-mmX.
> > Plain 2.6.15-rc1 was fine before as well. So: actually no change.
> >
> > Need any more info?
> >
>
> Marc,
>
> Thank you for testing the patch. It proves that your mouse troubles
> were not caused by the patch I made so I am very happy. "No change"
> is the result I wanted to hear ;)

Hey,

ok, I just thought you wanted me to say that. ;) But what's the problem
then? I didn't change any configs (expect the 'udev is no longer loading
mousedev'-problem on Debian - I put mousedev into /etc/modules).
However, this doesn't affect the mouse in 2.6.15-rc1 and 2.6.15-rc2. Is
this a timing issue? udev-detected modules get loaded earlier than
/etc/modules modules get loaded in Debian, don't they?. Maybe some resource
mess?

Marc

2005-11-23 19:56:46

by Marc Burkhardt

[permalink] [raw]
Subject: psmouse unusable in -mm series (was: 2.6.15-rc1-mm2 unsusable on DELL Inspiron 8200, 2.6.15-rc1 works fine)

* Dmitry Torokhov <[email protected]> [2005-11-21 22:43:50 -0500]:

> On Sunday 20 November 2005 12:14, Marc Koschewski wrote:
> > * Dmitry Torokhov <[email protected]> [2005-11-18 22:07:19 -0500]:
> >
> > > On Friday 18 November 2005 13:29, Marc Koschewski wrote:
> > > > Nov 18 12:58:37 stiffy kernel: psmouse.c: Wheel Mouse at isa0060/serio1/input0 lost synchronization, throwing 1 bytes away.
> > > >
> > > > SOME STUFF MISSING? HUH?
> > > >
> > > > Nov 18 13:03:14 stiffy kernel: psmouse.c: resync failed, issuing reconnect request
> > > >
> > >
> > > Hm, this worries me a bit... Could you please try appying the patch
> > > below to plain 2.6.15-rc1 and see if mouse starts misbehaving again?
> >
> > Dmitry,
> >
> > I applied the 5 patches to a plain 2.6.15-rc1. The mouse was well as if it was
> > in an unpatched kernel. The problem just occured in 2.6.15-rc1-mmX.
> > Plain 2.6.15-rc1 was fine before as well. So: actually no change.
> >
> > Need any more info?
> >
>
> Marc,
>
> Thank you for testing the patch. It proves that your mouse troubles
> were not caused by the patch I made so I am very happy. "No change"
> is the result I wanted to hear ;)
>

Dmitry,

there's a bug report filed against Debian's udev. You can read it here:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=340202

The bug report, however, states that the problem is caused by udev under
all variants of kernel 2.6.15. I'm writing this mail while running
2.6.15-rc1 and the mouse definitely works. Do you have any other hint?
Seems to me like the bug report is only half the truth...

Regards,
Marc

2005-11-24 02:29:07

by Ed Tomlinson

[permalink] [raw]
Subject: Re: psmouse unusable in -mm series (was: 2.6.15-rc1-mm2 unsusable on DELL Inspiron 8200, 2.6.15-rc1 works fine)

On Wednesday 23 November 2005 14:57, Marc Koschewski wrote:
> * Dmitry Torokhov <[email protected]> [2005-11-21 22:43:50 -0500]:
>
> > On Sunday 20 November 2005 12:14, Marc Koschewski wrote:
> > > * Dmitry Torokhov <[email protected]> [2005-11-18 22:07:19 -0500]:
> > >
> > > > On Friday 18 November 2005 13:29, Marc Koschewski wrote:
> > > > > Nov 18 12:58:37 stiffy kernel: psmouse.c: Wheel Mouse at isa0060/serio1/input0 lost synchronization, throwing 1 bytes away.
> > > > >
> > > > > SOME STUFF MISSING? HUH?
> > > > >
> > > > > Nov 18 13:03:14 stiffy kernel: psmouse.c: resync failed, issuing reconnect request
> > > > >
> > > >
> > > > Hm, this worries me a bit... Could you please try appying the patch
> > > > below to plain 2.6.15-rc1 and see if mouse starts misbehaving again?
> > >
> > > Dmitry,
> > >
> > > I applied the 5 patches to a plain 2.6.15-rc1. The mouse was well as if it was
> > > in an unpatched kernel. The problem just occured in 2.6.15-rc1-mmX.
> > > Plain 2.6.15-rc1 was fine before as well. So: actually no change.
> > >
> > > Need any more info?
> > >
> >
> > Marc,
> >
> > Thank you for testing the patch. It proves that your mouse troubles
> > were not caused by the patch I made so I am very happy. "No change"
> > is the result I wanted to hear ;)
> >
>
> Dmitry,
>
> there's a bug report filed against Debian's udev. You can read it here:
>
> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=340202
>
> The bug report, however, states that the problem is caused by udev under
> all variants of kernel 2.6.15. I'm writing this mail while running
> 2.6.15-rc1 and the mouse definitely works. Do you have any other hint?
> Seems to me like the bug report is only half the truth...

Marc,

Are you, by some slim chance, manually loading mousedev ( via /etc/modules) or
an init script? If so your mouse will work.

Ed Tomlinson

2005-11-24 04:41:24

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: psmouse unusable in -mm series (was: 2.6.15-rc1-mm2 unsusable on DELL Inspiron 8200, 2.6.15-rc1 works fine)

On Wednesday 23 November 2005 21:29, Ed Tomlinson wrote:
> On Wednesday 23 November 2005 14:57, Marc Koschewski wrote:
> > * Dmitry Torokhov <[email protected]> [2005-11-21 22:43:50 -0500]:
> >
> > > On Sunday 20 November 2005 12:14, Marc Koschewski wrote:
> > > > * Dmitry Torokhov <[email protected]> [2005-11-18 22:07:19 -0500]:
> > > >
> > > > > On Friday 18 November 2005 13:29, Marc Koschewski wrote:
> > > > > > Nov 18 12:58:37 stiffy kernel: psmouse.c: Wheel Mouse at isa0060/serio1/input0 lost synchronization, throwing 1 bytes away.
> > > > > >
> > > > > > SOME STUFF MISSING? HUH?
> > > > > >
> > > > > > Nov 18 13:03:14 stiffy kernel: psmouse.c: resync failed, issuing reconnect request
> > > > > >
> > > > >
> > > > > Hm, this worries me a bit... Could you please try appying the patch
> > > > > below to plain 2.6.15-rc1 and see if mouse starts misbehaving again?
> > > >
> > > > Dmitry,
> > > >
> > > > I applied the 5 patches to a plain 2.6.15-rc1. The mouse was well as if it was
> > > > in an unpatched kernel. The problem just occured in 2.6.15-rc1-mmX.
> > > > Plain 2.6.15-rc1 was fine before as well. So: actually no change.
> > > >
> > > > Need any more info?
> > > >
> > >
> > > Marc,
> > >
> > > Thank you for testing the patch. It proves that your mouse troubles
> > > were not caused by the patch I made so I am very happy. "No change"
> > > is the result I wanted to hear ;)
> > >
> >
> > Dmitry,
> >
> > there's a bug report filed against Debian's udev. You can read it here:
> >
> > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=340202
> >
> > The bug report, however, states that the problem is caused by udev under
> > all variants of kernel 2.6.15. I'm writing this mail while running
> > 2.6.15-rc1 and the mouse definitely works. Do you have any other hint?
> > Seems to me like the bug report is only half the truth...
>
> Marc,
>
> Are you, by some slim chance, manually loading mousedev ( via /etc/modules) or
> an init script? If so your mouse will work.
>

The only change in input between 2.6.15-rc1 and 2.6.15-rc-mm2 is that
psmouse resync patch. Marc, is you revert psmouse resync patch from -mm
does the mouzse still misbehaves?

--
Dmitry

2005-11-24 08:41:04

by Marc Burkhardt

[permalink] [raw]
Subject: Re: psmouse unusable in -mm series (was: 2.6.15-rc1-mm2 unsusable on DELL Inspiron 8200, 2.6.15-rc1 works fine)

* Ed Tomlinson <[email protected]> [2005-11-23 21:29:35 -0500]:

> On Wednesday 23 November 2005 14:57, Marc Koschewski wrote:
> > * Dmitry Torokhov <[email protected]> [2005-11-21 22:43:50 -0500]:
> >
> > > On Sunday 20 November 2005 12:14, Marc Koschewski wrote:
> > > > * Dmitry Torokhov <[email protected]> [2005-11-18 22:07:19 -0500]:
> > > >
> > > > > On Friday 18 November 2005 13:29, Marc Koschewski wrote:
> > > > > > Nov 18 12:58:37 stiffy kernel: psmouse.c: Wheel Mouse at isa0060/serio1/input0 lost synchronization, throwing 1 bytes away.
> > > > > >
> > > > > > SOME STUFF MISSING? HUH?
> > > > > >
> > > > > > Nov 18 13:03:14 stiffy kernel: psmouse.c: resync failed, issuing reconnect request
> > > > > >
> > > > >
> > > > > Hm, this worries me a bit... Could you please try appying the patch
> > > > > below to plain 2.6.15-rc1 and see if mouse starts misbehaving again?
> > > >
> > > > Dmitry,
> > > >
> > > > I applied the 5 patches to a plain 2.6.15-rc1. The mouse was well as if it was
> > > > in an unpatched kernel. The problem just occured in 2.6.15-rc1-mmX.
> > > > Plain 2.6.15-rc1 was fine before as well. So: actually no change.
> > > >
> > > > Need any more info?
> > > >
> > >
> > > Marc,
> > >
> > > Thank you for testing the patch. It proves that your mouse troubles
> > > were not caused by the patch I made so I am very happy. "No change"
> > > is the result I wanted to hear ;)
> > >
> >
> > Dmitry,
> >
> > there's a bug report filed against Debian's udev. You can read it here:
> >
> > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=340202
> >
> > The bug report, however, states that the problem is caused by udev under
> > all variants of kernel 2.6.15. I'm writing this mail while running
> > 2.6.15-rc1 and the mouse definitely works. Do you have any other hint?
> > Seems to me like the bug report is only half the truth...
>
> Marc,
>
> Are you, by some slim chance, manually loading mousedev ( via /etc/modules) or
> an init script? If so your mouse will work.
>

Hi Ed,

yes, I do load mousedev as well as psmouse in /etc/modules due to udev
no longer loading it. my problem, however, is _not_ that teh module
doesn't get loaded. It's the mouse pointer jumping all over the screen.
After some time (inactivity?) it calms down and is usable. Then, after
some minutes it again jumps wild all over the place, seems to click
stuff on it's own, and again calms down, ...

This problem shouldn't be udev related.

One note: the pointer seems to be in love with the corners of the
screen. It always goes there when it goes wild... ;)

Marc

2005-11-24 12:16:38

by Ed Tomlinson

[permalink] [raw]
Subject: Re: psmouse unusable in -mm series (was: 2.6.15-rc1-mm2 unsusable on DELL Inspiron 8200, 2.6.15-rc1 works fine)

On Thursday 24 November 2005 03:41, Marc Koschewski wrote:
> * Ed Tomlinson <[email protected]> [2005-11-23 21:29:35 -0500]:
>
> > On Wednesday 23 November 2005 14:57, Marc Koschewski wrote:
> > > * Dmitry Torokhov <[email protected]> [2005-11-21 22:43:50 -0500]:
> > >
> > > > On Sunday 20 November 2005 12:14, Marc Koschewski wrote:
> > > > > * Dmitry Torokhov <[email protected]> [2005-11-18 22:07:19 -0500]:
> > > > >
> > > > > > On Friday 18 November 2005 13:29, Marc Koschewski wrote:
> > > > > > > Nov 18 12:58:37 stiffy kernel: psmouse.c: Wheel Mouse at isa0060/serio1/input0 lost synchronization, throwing 1 bytes away.
> > > > > > >
> > > > > > > SOME STUFF MISSING? HUH?
> > > > > > >
> > > > > > > Nov 18 13:03:14 stiffy kernel: psmouse.c: resync failed, issuing reconnect request
> > > > > > >
> > > > > >
> > > > > > Hm, this worries me a bit... Could you please try appying the patch
> > > > > > below to plain 2.6.15-rc1 and see if mouse starts misbehaving again?
> > > > >
> > > > > Dmitry,
> > > > >
> > > > > I applied the 5 patches to a plain 2.6.15-rc1. The mouse was well as if it was
> > > > > in an unpatched kernel. The problem just occured in 2.6.15-rc1-mmX.
> > > > > Plain 2.6.15-rc1 was fine before as well. So: actually no change.
> > > > >
> > > > > Need any more info?
> > > > >
> > > >
> > > > Marc,
> > > >
> > > > Thank you for testing the patch. It proves that your mouse troubles
> > > > were not caused by the patch I made so I am very happy. "No change"
> > > > is the result I wanted to hear ;)
> > > >
> > >
> > > Dmitry,
> > >
> > > there's a bug report filed against Debian's udev. You can read it here:
> > >
> > > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=340202
> > >
> > > The bug report, however, states that the problem is caused by udev under
> > > all variants of kernel 2.6.15. I'm writing this mail while running
> > > 2.6.15-rc1 and the mouse definitely works. Do you have any other hint?
> > > Seems to me like the bug report is only half the truth...
> >
> > Marc,
> >
> > Are you, by some slim chance, manually loading mousedev ( via /etc/modules) or
> > an init script? If so your mouse will work.
> >
>
> Hi Ed,
>
> yes, I do load mousedev as well as psmouse in /etc/modules due to udev
> no longer loading it. my problem, however, is _not_ that teh module
> doesn't get loaded. It's the mouse pointer jumping all over the screen.
> After some time (inactivity?) it calms down and is usable. Then, after
> some minutes it again jumps wild all over the place, seems to click
> stuff on it's own, and again calms down, ...
>
> This problem shouldn't be udev related.
>
> One note: the pointer seems to be in love with the corners of the
> screen. It always goes there when it goes wild... ;)

Marc,

It looks like you are seeing a different bug. The one opened for debian user space
covers mousedev not being loaded if the kernel is 2.6.15, which leads to no /dev/input

Ed Tomlinson

2005-11-24 12:44:27

by Marc Burkhardt

[permalink] [raw]
Subject: Re: psmouse unusable in -mm series (was: 2.6.15-rc1-mm2 unsusable on DELL Inspiron 8200, 2.6.15-rc1 works fine)

* Ed Tomlinson <[email protected]> [2005-11-24 07:17:10 -0500]:

> On Thursday 24 November 2005 03:41, Marc Koschewski wrote:
> > * Ed Tomlinson <[email protected]> [2005-11-23 21:29:35 -0500]:
> >
> > > On Wednesday 23 November 2005 14:57, Marc Koschewski wrote:
> > > > * Dmitry Torokhov <[email protected]> [2005-11-21 22:43:50 -0500]:
> > > >
> > > > > On Sunday 20 November 2005 12:14, Marc Koschewski wrote:
> > > > > > * Dmitry Torokhov <[email protected]> [2005-11-18 22:07:19 -0500]:
> > > > > >
> > > > > > > On Friday 18 November 2005 13:29, Marc Koschewski wrote:
> > > > > > > > Nov 18 12:58:37 stiffy kernel: psmouse.c: Wheel Mouse at isa0060/serio1/input0 lost synchronization, throwing 1 bytes away.
> > > > > > > >
> > > > > > > > SOME STUFF MISSING? HUH?
> > > > > > > >
> > > > > > > > Nov 18 13:03:14 stiffy kernel: psmouse.c: resync failed, issuing reconnect request
> > > > > > > >
> > > > > > >
> > > > > > > Hm, this worries me a bit... Could you please try appying the patch
> > > > > > > below to plain 2.6.15-rc1 and see if mouse starts misbehaving again?
> > > > > >
> > > > > > Dmitry,
> > > > > >
> > > > > > I applied the 5 patches to a plain 2.6.15-rc1. The mouse was well as if it was
> > > > > > in an unpatched kernel. The problem just occured in 2.6.15-rc1-mmX.
> > > > > > Plain 2.6.15-rc1 was fine before as well. So: actually no change.
> > > > > >
> > > > > > Need any more info?
> > > > > >
> > > > >
> > > > > Marc,
> > > > >
> > > > > Thank you for testing the patch. It proves that your mouse troubles
> > > > > were not caused by the patch I made so I am very happy. "No change"
> > > > > is the result I wanted to hear ;)
> > > > >
> > > >
> > > > Dmitry,
> > > >
> > > > there's a bug report filed against Debian's udev. You can read it here:
> > > >
> > > > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=340202
> > > >
> > > > The bug report, however, states that the problem is caused by udev under
> > > > all variants of kernel 2.6.15. I'm writing this mail while running
> > > > 2.6.15-rc1 and the mouse definitely works. Do you have any other hint?
> > > > Seems to me like the bug report is only half the truth...
> > >
> > > Marc,
> > >
> > > Are you, by some slim chance, manually loading mousedev ( via /etc/modules) or
> > > an init script? If so your mouse will work.
> > >
> >
> > Hi Ed,
> >
> > yes, I do load mousedev as well as psmouse in /etc/modules due to udev
> > no longer loading it. my problem, however, is _not_ that teh module
> > doesn't get loaded. It's the mouse pointer jumping all over the screen.
> > After some time (inactivity?) it calms down and is usable. Then, after
> > some minutes it again jumps wild all over the place, seems to click
> > stuff on it's own, and again calms down, ...
> >
> > This problem shouldn't be udev related.
> >
> > One note: the pointer seems to be in love with the corners of the
> > screen. It always goes there when it goes wild... ;)
>
> Marc,
>
> It looks like you are seeing a different bug. The one opened for debian user space
> covers mousedev not being loaded if the kernel is 2.6.15, which leads to no /dev/input
>

That's what I think, thus the report on LKLM. But noone but me seems to
be trapped into it until... :/

Marc

2005-11-24 20:23:08

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: psmouse unusable in -mm series (was: 2.6.15-rc1-mm2 unsusable on DELL Inspiron 8200, 2.6.15-rc1 works fine)

On Thursday, 24 of November 2005 13:44, Marc Koschewski wrote:
}-- snip --{
> > It looks like you are seeing a different bug. The one opened for debian user space
> > covers mousedev not being loaded if the kernel is 2.6.15, which leads to no /dev/input
> >
>
> That's what I think, thus the report on LKLM. But noone but me seems to
> be trapped into it until... :/

FWIW, my touchpad doesn't work with -rc2-mm1 too (usually I use a USB mouse,
so I didn't notice before). Here's what dmesg says about it:

Synaptics Touchpad, model: 1, fw: 5.9, id: 0x926eb1, caps: 0x804719/0x0
input: SynPS/2 Synaptics TouchPad as /class/input/input2

The box is an Asus L5D (x86-64).

Greetings,
Rafael

2005-11-24 21:19:29

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: psmouse unusable in -mm series (was: 2.6.15-rc1-mm2 unsusable on DELL Inspiron 8200, 2.6.15-rc1 works fine)

Update:

On Thursday, 24 of November 2005 21:23, Rafael J. Wysocki wrote:
> On Thursday, 24 of November 2005 13:44, Marc Koschewski wrote:
> }-- snip --{
> > > It looks like you are seeing a different bug. The one opened for debian user space
> > > covers mousedev not being loaded if the kernel is 2.6.15, which leads to no /dev/input
> > >
> >
> > That's what I think, thus the report on LKLM. But noone but me seems to
> > be trapped into it until... :/
>
> FWIW, my touchpad doesn't work with -rc2-mm1 too (usually I use a USB mouse,
> so I didn't notice before). Here's what dmesg says about it:
>
> Synaptics Touchpad, model: 1, fw: 5.9, id: 0x926eb1, caps: 0x804719/0x0
> input: SynPS/2 Synaptics TouchPad as /class/input/input2
>
> The box is an Asus L5D (x86-64).

Actually, it works on the console (ie with gpm), but X is unable to use it,
apparently. However it used to be, at least on 2.6.14-git9 (this is the latest
non-mm kernel I've been able to test quickly on this box).

Marc, does your touchpad work with gpm?

Rafael

2005-11-25 08:22:55

by Vojtech Pavlik

[permalink] [raw]
Subject: Re: psmouse unusable in -mm series (was: 2.6.15-rc1-mm2 unsusable on DELL Inspiron 8200, 2.6.15-rc1 works fine)

On Thu, Nov 24, 2005 at 10:20:25PM +0100, Rafael J. Wysocki wrote:
> Update:
>
> On Thursday, 24 of November 2005 21:23, Rafael J. Wysocki wrote:
> > On Thursday, 24 of November 2005 13:44, Marc Koschewski wrote:
> > }-- snip --{
> > > > It looks like you are seeing a different bug. The one opened for debian user space
> > > > covers mousedev not being loaded if the kernel is 2.6.15, which leads to no /dev/input
> > > >
> > >
> > > That's what I think, thus the report on LKLM. But noone but me seems to
> > > be trapped into it until... :/
> >
> > FWIW, my touchpad doesn't work with -rc2-mm1 too (usually I use a USB mouse,
> > so I didn't notice before). Here's what dmesg says about it:
> >
> > Synaptics Touchpad, model: 1, fw: 5.9, id: 0x926eb1, caps: 0x804719/0x0
> > input: SynPS/2 Synaptics TouchPad as /class/input/input2
> >
> > The box is an Asus L5D (x86-64).
>
> Actually, it works on the console (ie with gpm), but X is unable to use it,
> apparently. However it used to be, at least on 2.6.14-git9 (this is the latest
> non-mm kernel I've been able to test quickly on this box).
>
> Marc, does your touchpad work with gpm?

What's in your relevant xorg.conf sections?

--
Vojtech Pavlik
SuSE Labs, SuSE CR

2005-11-25 13:50:23

by Marc Burkhardt

[permalink] [raw]
Subject: Re: psmouse unusable in -mm series (was: 2.6.15-rc1-mm2 unsusable on DELL Inspiron 8200, 2.6.15-rc1 works fine)

* Vojtech Pavlik <[email protected]> [2005-11-25 09:22:53 +0100]:

> On Thu, Nov 24, 2005 at 10:20:25PM +0100, Rafael J. Wysocki wrote:
> > Update:
> >
> > On Thursday, 24 of November 2005 21:23, Rafael J. Wysocki wrote:
> > > On Thursday, 24 of November 2005 13:44, Marc Koschewski wrote:
> > > }-- snip --{
> > > > > It looks like you are seeing a different bug. The one opened for debian user space
> > > > > covers mousedev not being loaded if the kernel is 2.6.15, which leads to no /dev/input
> > > > >
> > > >
> > > > That's what I think, thus the report on LKLM. But noone but me seems to
> > > > be trapped into it until... :/
> > >
> > > FWIW, my touchpad doesn't work with -rc2-mm1 too (usually I use a USB mouse,
> > > so I didn't notice before). Here's what dmesg says about it:
> > >
> > > Synaptics Touchpad, model: 1, fw: 5.9, id: 0x926eb1, caps: 0x804719/0x0
> > > input: SynPS/2 Synaptics TouchPad as /class/input/input2
> > >
> > > The box is an Asus L5D (x86-64).
> >
> > Actually, it works on the console (ie with gpm), but X is unable to use it,
> > apparently. However it used to be, at least on 2.6.14-git9 (this is the latest
> > non-mm kernel I've been able to test quickly on this box).
> >
> > Marc, does your touchpad work with gpm?
>
> What's in your relevant xorg.conf sections?

Section "InputDevice"
Identifier "id_mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "ZAxisMapping" "4 5"
EndSection

Section "ServerLayout"
Identifier "home"
Screen 0 "id_screen_lcd" 0 0
InputDevice "id_mouse" "CorePointer"
InputDevice "id_keyboard" "CoreKeyboard"
#Option "Xinerama" "on"
Option "Xinerama" "off"
EndSection

Section "ServerFlags"
Option "AllowMouseOpenFail" "true"
Option "DontZap" "true"
Option "DontVTSwitch" "false"
Option "DefaultServerLayout" "home"
EndSection

2005-11-25 13:53:25

by Marc Burkhardt

[permalink] [raw]
Subject: Re: psmouse unusable in -mm series (was: 2.6.15-rc1-mm2 unsusable on DELL Inspiron 8200, 2.6.15-rc1 works fine)

* Rafael J. Wysocki <[email protected]> [2005-11-24 21:23:59 +0100]:

> On Thursday, 24 of November 2005 13:44, Marc Koschewski wrote:
> }-- snip --{
> > > It looks like you are seeing a different bug. The one opened for debian user space
> > > covers mousedev not being loaded if the kernel is 2.6.15, which leads to no /dev/input
> > >
> >
> > That's what I think, thus the report on LKLM. But noone but me seems to
> > be trapped into it until... :/
>
> FWIW, my touchpad doesn't work with -rc2-mm1 too (usually I use a USB mouse,
> so I didn't notice before). Here's what dmesg says about it:
>
> Synaptics Touchpad, model: 1, fw: 5.9, id: 0x926eb1, caps: 0x804719/0x0
> input: SynPS/2 Synaptics TouchPad as /class/input/input2
>
> The box is an Asus L5D (x86-64).

That's what 2.6.15-rc2 reports for my input devices:

stiffy:/var/cache/apt/archives# dmesg | grep input
input: AT Translated Set 2 keyboard as /class/input/input0
input: PC Speaker as /class/input/input1
input: ImPS/2 Generic Wheel Mouse as /class/input/input2
drivers/usb/input/usbmouse.c: v1.6:USB HID Boot Protocol mouse driver

Regards,
Marc

2005-11-25 21:15:28

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: psmouse unusable in -mm series (was: 2.6.15-rc1-mm2 unsusable on DELL Inspiron 8200, 2.6.15-rc1 works fine)

On Friday, 25 of November 2005 09:22, Vojtech Pavlik wrote:
> On Thu, Nov 24, 2005 at 10:20:25PM +0100, Rafael J. Wysocki wrote:
> > Update:
> >
> > On Thursday, 24 of November 2005 21:23, Rafael J. Wysocki wrote:
> > > On Thursday, 24 of November 2005 13:44, Marc Koschewski wrote:
> > > }-- snip --{
> > > > > It looks like you are seeing a different bug. The one opened for debian user space
> > > > > covers mousedev not being loaded if the kernel is 2.6.15, which leads to no /dev/input
> > > > >
> > > >
> > > > That's what I think, thus the report on LKLM. But noone but me seems to
> > > > be trapped into it until... :/
> > >
> > > FWIW, my touchpad doesn't work with -rc2-mm1 too (usually I use a USB mouse,
> > > so I didn't notice before). Here's what dmesg says about it:
> > >
> > > Synaptics Touchpad, model: 1, fw: 5.9, id: 0x926eb1, caps: 0x804719/0x0
> > > input: SynPS/2 Synaptics TouchPad as /class/input/input2
> > >
> > > The box is an Asus L5D (x86-64).
> >
> > Actually, it works on the console (ie with gpm), but X is unable to use it,
> > apparently. However it used to be, at least on 2.6.14-git9 (this is the latest
> > non-mm kernel I've been able to test quickly on this box).
> >
> > Marc, does your touchpad work with gpm?
>
> What's in your relevant xorg.conf sections?

Section "ServerFlags"
Option "AllowMouseOpenFail"
EndSection

Section "InputDevice"
Driver "mouse"
Identifier "Mouse[1]"
Option "Device" "/dev/input/mice"
Option "Name" "Logitech Optical USB Mouse"
Option "Protocol" "explorerps/2"
Option "Vendor" "Sysp"
Option "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
Driver "synaptics"
Identifier "Mouse[3]"
Option "Device" "/dev/input/mice"
Option "Emulate3Buttons" "on"
Option "InputFashion" "Mouse"
Option "Name" "Synaptics;Touchpad"
Option "Protocol" "explorerps/2"
Option "SHMConfig" "on"
Option "Vendor" "Sysp"
Option "ZAxisMapping" "4 5"
EndSection

Section "ServerLayout"
Identifier "Layout[all]"
InputDevice "Keyboard[0]" "CoreKeyboard"
InputDevice "Mouse[1]" "CorePointer"
InputDevice "Mouse[3]" "SendCoreEvents"
Option "Clone" "off"
Option "Xinerama" "off"
Screen "Screen[0]"
EndSection

2005-11-25 21:41:31

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: psmouse unusable in -mm series (was: 2.6.15-rc1-mm2 unsusable on DELL Inspiron 8200, 2.6.15-rc1 works fine)

On Friday 25 November 2005 16:16, Rafael J. Wysocki wrote:
> On Friday, 25 of November 2005 09:22, Vojtech Pavlik wrote:
> > On Thu, Nov 24, 2005 at 10:20:25PM +0100, Rafael J. Wysocki wrote:
> > > Update:
> > >
> > > On Thursday, 24 of November 2005 21:23, Rafael J. Wysocki wrote:
> > > > On Thursday, 24 of November 2005 13:44, Marc Koschewski wrote:
> > > > }-- snip --{
> > > > > > It looks like you are seeing a different bug. The one opened for debian user space
> > > > > > covers mousedev not being loaded if the kernel is 2.6.15, which leads to no /dev/input
> > > > > >
> > > > >
> > > > > That's what I think, thus the report on LKLM. But noone but me seems to
> > > > > be trapped into it until... :/
> > > >
> > > > FWIW, my touchpad doesn't work with -rc2-mm1 too (usually I use a USB mouse,
> > > > so I didn't notice before). Here's what dmesg says about it:
> > > >
> > > > Synaptics Touchpad, model: 1, fw: 5.9, id: 0x926eb1, caps: 0x804719/0x0
> > > > input: SynPS/2 Synaptics TouchPad as /class/input/input2
> > > >
> > > > The box is an Asus L5D (x86-64).
> > >
> > > Actually, it works on the console (ie with gpm), but X is unable to use it,
> > > apparently. However it used to be, at least on 2.6.14-git9 (this is the latest
> > > non-mm kernel I've been able to test quickly on this box).
> > >
> > > Marc, does your touchpad work with gpm?
> >
> > What's in your relevant xorg.conf sections?
>
> Section "ServerFlags"
> Option "AllowMouseOpenFail"
> EndSection
>
> Section "InputDevice"
> Driver "mouse"
> Identifier "Mouse[1]"
> Option "Device" "/dev/input/mice"
> Option "Name" "Logitech Optical USB Mouse"
> Option "Protocol" "explorerps/2"
> Option "Vendor" "Sysp"
> Option "ZAxisMapping" "4 5"
> EndSection
>
> Section "InputDevice"
> Driver "synaptics"
> Identifier "Mouse[3]"
> Option "Device" "/dev/input/mice"
> Option "Emulate3Buttons" "on"
> Option "InputFashion" "Mouse"
> Option "Name" "Synaptics;Touchpad"
> Option "Protocol" "explorerps/2"
> Option "SHMConfig" "on"
> Option "Vendor" "Sysp"
> Option "ZAxisMapping" "4 5"
> EndSection
>
> Section "ServerLayout"
> Identifier "Layout[all]"
> InputDevice "Keyboard[0]" "CoreKeyboard"
> InputDevice "Mouse[1]" "CorePointer"
> InputDevice "Mouse[3]" "SendCoreEvents"
> Option "Clone" "off"
> Option "Xinerama" "off"
> Screen "Screen[0]"
> EndSection
>

Ok, so you are using Synaptics driver. Does you have evdev module loaded
and do you have /dev/input/eventX nodes created? If not that would explain
why the touchpad is not working in X.

--
Dmitry

2005-11-26 03:54:59

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: psmouse unusable in -mm series (was: 2.6.15-rc1-mm2 unsusable on DELL Inspiron 8200, 2.6.15-rc1 works fine)

On Thursday 24 November 2005 16:20, Rafael J. Wysocki wrote:
> Update:
>
> On Thursday, 24 of November 2005 21:23, Rafael J. Wysocki wrote:
> > On Thursday, 24 of November 2005 13:44, Marc Koschewski wrote:
> > }-- snip --{
> > > > It looks like you are seeing a different bug. The one opened for debian user space
> > > > covers mousedev not being loaded if the kernel is 2.6.15, which leads to no /dev/input
> > > >
> > >
> > > That's what I think, thus the report on LKLM. But noone but me seems to
> > > be trapped into it until... :/
> >
> > FWIW, my touchpad doesn't work with -rc2-mm1 too (usually I use a USB mouse,
> > so I didn't notice before). Here's what dmesg says about it:
> >
> > Synaptics Touchpad, model: 1, fw: 5.9, id: 0x926eb1, caps: 0x804719/0x0
> > input: SynPS/2 Synaptics TouchPad as /class/input/input2
> >
> > The box is an Asus L5D (x86-64).
>
> Actually, it works on the console (ie with gpm), but X is unable to use it,
> apparently. However it used to be, at least on 2.6.14-git9 (this is the latest
> non-mm kernel I've been able to test quickly on this box).
>

Rafael,

does reverting the following patch makes touchpad work?

--
Dmitry

Input: evdev - consolidate compat and regular code

Compat and normal code mirror each other and are hard to maintain.
When EV_SW was added compat_ioctl case was missed. Here is my attempt
at consolidating the code.

Signed-off-by: Dmitry Torokhov <[email protected]>
---

drivers/input/evdev.c | 491 +++++++++++++++++++++-----------------------------
1 files changed, 212 insertions(+), 279 deletions(-)

Index: work/drivers/input/evdev.c
===================================================================
--- work.orig/drivers/input/evdev.c
+++ work/drivers/input/evdev.c
@@ -146,6 +146,7 @@ static int evdev_open(struct inode * ino
}

#ifdef CONFIG_COMPAT
+
struct input_event_compat {
struct compat_timeval time;
__u16 type;
@@ -165,98 +166,107 @@ struct input_event_compat {
# define COMPAT_TEST test_thread_flag(TIF_32BIT)
#endif

-static ssize_t evdev_write_compat(struct file * file, const char __user * buffer, size_t count, loff_t *ppos)
+static inline size_t evdev_event_size(void)
{
- struct evdev_list *list = file->private_data;
- struct input_event_compat event;
- int retval = 0;
+ return COMPAT_TEST ?
+ sizeof(struct input_event_compat) : sizeof(struct input_event);
+}

- while (retval < count) {
- if (copy_from_user(&event, buffer + retval, sizeof(struct input_event_compat)))
+static int evdev_event_from_user(const char __user *buffer, struct input_event *event)
+{
+ if (COMPAT_TEST) {
+ struct input_event_compat compat_event;
+
+ if (copy_from_user(&compat_event, buffer, sizeof(struct input_event_compat)))
+ return -EFAULT;
+
+ event->time.tv_sec = compat_event.time.tv_sec;
+ event->time.tv_usec = compat_event.time.tv_usec;
+ event->type = compat_event.type;
+ event->code = compat_event.code;
+ event->value = compat_event.value;
+
+ } else {
+ if (copy_from_user(event, buffer, sizeof(struct input_event)))
return -EFAULT;
- input_event(list->evdev->handle.dev, event.type, event.code, event.value);
- retval += sizeof(struct input_event_compat);
}

- return retval;
+ return 0;
}
-#endif

-static ssize_t evdev_write(struct file * file, const char __user * buffer, size_t count, loff_t *ppos)
+static int evdev_event_to_user(const char __user *buffer, struct input_event *event)
{
- struct evdev_list *list = file->private_data;
- struct input_event event;
- int retval = 0;
+ if (COMPAT_TEST) {
+ struct input_event_compat compat_event;

- if (!list->evdev->exist) return -ENODEV;
+ compat_event.time.tv_sec = event->time.tv_sec;
+ compat_event.time.tv_usec = event->time.tv_usec;
+ compat_event.type = event->type;
+ compat_event.code = event->code;
+ compat_event.value = event->value;

-#ifdef CONFIG_COMPAT
- if (COMPAT_TEST)
- return evdev_write_compat(file, buffer, count, ppos);
-#endif
-
- while (retval < count) {
+ if (copy_to_user(&compat_event, buffer, sizeof(struct input_event_compat)))
+ return -EFAULT;

- if (copy_from_user(&event, buffer + retval, sizeof(struct input_event)))
+ } else {
+ if (copy_to_user(event, buffer, sizeof(struct input_event)))
return -EFAULT;
- input_event(list->evdev->handle.dev, event.type, event.code, event.value);
- retval += sizeof(struct input_event);
}

- return retval;
+ return 0;
}

-#ifdef CONFIG_COMPAT
-static ssize_t evdev_read_compat(struct file * file, char __user * buffer, size_t count, loff_t *ppos)
+#else
+
+static inline size_t evdev_event_size(void)
{
- struct evdev_list *list = file->private_data;
- int retval;
+ return sizeof(struct input_event);
+}

- if (count < sizeof(struct input_event_compat))
- return -EINVAL;
+static int evdev_event_from_user(const char __user *buffer, struct input_event *event)
+{
+ if (copy_from_user(event, buffer, sizeof(struct input_event)))
+ return -EFAULT;

- if (list->head == list->tail && list->evdev->exist && (file->f_flags & O_NONBLOCK))
- return -EAGAIN;
+ return 0;
+}

- retval = wait_event_interruptible(list->evdev->wait,
- list->head != list->tail || (!list->evdev->exist));
+static int evdev_event_to_user(char __user *buffer, struct input_event *event)
+{
+ if (copy_to_user(buffer, event, sizeof(struct input_event)))
+ return -EFAULT;

- if (retval)
- return retval;
+ return 0;
+}
+
+#endif /* CONFIG_COMPAT */
+
+static ssize_t evdev_write(struct file * file, const char __user * buffer, size_t count, loff_t *ppos)
+{
+ struct evdev_list *list = file->private_data;
+ struct input_event event;
+ int retval = 0;

if (!list->evdev->exist)
return -ENODEV;

- while (list->head != list->tail && retval + sizeof(struct input_event_compat) <= count) {
- struct input_event *event = (struct input_event *) list->buffer + list->tail;
- struct input_event_compat event_compat;
- event_compat.time.tv_sec = event->time.tv_sec;
- event_compat.time.tv_usec = event->time.tv_usec;
- event_compat.type = event->type;
- event_compat.code = event->code;
- event_compat.value = event->value;
+ while (retval < count) {

- if (copy_to_user(buffer + retval, &event_compat,
- sizeof(struct input_event_compat))) return -EFAULT;
- list->tail = (list->tail + 1) & (EVDEV_BUFFER_SIZE - 1);
- retval += sizeof(struct input_event_compat);
+ if (evdev_event_from_user(buffer + retval, &event))
+ return -EFAULT;
+ input_event(list->evdev->handle.dev, event.type, event.code, event.value);
+ retval += evdev_event_size();
}

return retval;
}
-#endif

static ssize_t evdev_read(struct file * file, char __user * buffer, size_t count, loff_t *ppos)
{
struct evdev_list *list = file->private_data;
int retval;

-#ifdef CONFIG_COMPAT
- if (COMPAT_TEST)
- return evdev_read_compat(file, buffer, count, ppos);
-#endif
-
- if (count < sizeof(struct input_event))
+ if (count < evdev_event_size())
return -EINVAL;

if (list->head == list->tail && list->evdev->exist && (file->f_flags & O_NONBLOCK))
@@ -271,11 +281,15 @@ static ssize_t evdev_read(struct file *
if (!list->evdev->exist)
return -ENODEV;

- while (list->head != list->tail && retval + sizeof(struct input_event) <= count) {
- if (copy_to_user(buffer + retval, list->buffer + list->tail,
- sizeof(struct input_event))) return -EFAULT;
+ while (list->head != list->tail && retval + evdev_event_size() <= count) {
+
+ struct input_event *event = (struct input_event *) list->buffer + list->tail;
+
+ if (evdev_event_to_user(buffer + retval, event))
+ return -EFAULT;
+
list->tail = (list->tail + 1) & (EVDEV_BUFFER_SIZE - 1);
- retval += sizeof(struct input_event);
+ retval += evdev_event_size();
}

return retval;
@@ -290,17 +304,95 @@ static unsigned int evdev_poll(struct fi
(list->evdev->exist ? 0 : (POLLHUP | POLLERR));
}

-static long evdev_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
+#ifdef CONFIG_COMPAT
+
+#define BITS_PER_LONG_COMPAT (sizeof(compat_long_t) * 8)
+#define NBITS_COMPAT(x) ((((x) - 1) / BITS_PER_LONG_COMPAT) + 1)
+
+#ifdef __BIG_ENDIAN
+static int bits_to_user(unsigned long *bits, unsigned int maxbit,
+ unsigned int maxlen, void __user *p, int compat)
+{
+ int len, i;
+
+ if (compat) {
+ len = NBITS_COMPAT(maxbit) * sizeof(compat_long_t);
+ if (len < maxlen)
+ len = maxlen;
+
+ for (i = 0; i < len / sizeof(compat_long_t); i++)
+ if (copy_to_user((compat_long_t __user *) p + i,
+ (compat_long_t *) bits +
+ i + 1 - ((i % 2) << 1),
+ sizeof(compat_long_t)))
+ return -EFAULT;
+ } else {
+ len = NBITS(maxbit) * sizeof(long);
+ if (len > maxlen)
+ len = maxlen;
+
+ if (copy_to_user(p, bits, len))
+ return -EFAULT;
+ }
+
+ return len;
+}
+#else
+static int bits_to_user(unsigned long *bits, unsigned int maxbit,
+ unsigned int maxlen, void __user *p, int compat)
+{
+ int len = compat ?
+ NBITS_COMPAT(maxbit) * sizeof(compat_long_t) :
+ NBITS(maxbit) * sizeof(long);
+
+ if (len > maxlen)
+ len = maxlen;
+
+ return copy_to_user(p, bits, len) ? -EFAULT : len;
+}
+#endif /* __BIG_ENDIAN */
+
+#else
+
+static int bits_to_user(unsigned long *bits, unsigned int maxbit,
+ unsigned int maxlen, void __user *p, int compat)
+{
+ int len = NBITS(maxbit) * sizeof(long);
+
+ if (len > maxlen)
+ len = maxlen;
+
+ return copy_to_user(p, bits, len) ? -EFAULT : len;
+}
+
+#endif /* CONFIG_COMPAT */
+
+static int str_to_user(const char *str, unsigned int maxlen, void __user *p)
+{
+ int len;
+
+ if (!str)
+ return -ENOENT;
+
+ len = strlen(str) + 1;
+ if (len > maxlen)
+ len = maxlen;
+
+ return copy_to_user(p, str, len) ? -EFAULT : len;
+}
+
+static long evdev_ioctl_handler(struct file *file, unsigned int cmd,
+ void __user *p, int compat_mode)
{
struct evdev_list *list = file->private_data;
struct evdev *evdev = list->evdev;
struct input_dev *dev = evdev->handle.dev;
struct input_absinfo abs;
- void __user *p = (void __user *)arg;
- int __user *ip = (int __user *)arg;
+ int __user *ip = (int __user *)p;
int i, t, u, v;

- if (!evdev->exist) return -ENODEV;
+ if (!evdev->exist)
+ return -ENODEV;

switch (cmd) {

@@ -308,26 +400,39 @@ static long evdev_ioctl(struct file *fil
return put_user(EV_VERSION, ip);

case EVIOCGID:
- return copy_to_user(p, &dev->id, sizeof(struct input_id)) ? -EFAULT : 0;
+ if (copy_to_user(p, &dev->id, sizeof(struct input_id)))
+ return -EFAULT;
+
+ return 0;

case EVIOCGKEYCODE:
- if (get_user(t, ip)) return -EFAULT;
- if (t < 0 || t >= dev->keycodemax || !dev->keycodesize) return -EINVAL;
- if (put_user(INPUT_KEYCODE(dev, t), ip + 1)) return -EFAULT;
+ if (get_user(t, ip))
+ return -EFAULT;
+ if (t < 0 || t >= dev->keycodemax || !dev->keycodesize)
+ return -EINVAL;
+ if (put_user(INPUT_KEYCODE(dev, t), ip + 1))
+ return -EFAULT;
return 0;

case EVIOCSKEYCODE:
- if (get_user(t, ip)) return -EFAULT;
- if (t < 0 || t >= dev->keycodemax || !dev->keycodesize) return -EINVAL;
- if (get_user(v, ip + 1)) return -EFAULT;
- if (v < 0 || v > KEY_MAX) return -EINVAL;
- if (dev->keycodesize < sizeof(v) && (v >> (dev->keycodesize * 8))) return -EINVAL;
+ if (get_user(t, ip))
+ return -EFAULT;
+ if (t < 0 || t >= dev->keycodemax || !dev->keycodesize)
+ return -EINVAL;
+ if (get_user(v, ip + 1))
+ return -EFAULT;
+ if (v < 0 || v > KEY_MAX)
+ return -EINVAL;
+ if (dev->keycodesize < sizeof(v) && (v >> (dev->keycodesize * 8)))
+ return -EINVAL;
+
u = SET_INPUT_KEYCODE(dev, t, v);
clear_bit(u, dev->keybit);
set_bit(v, dev->keybit);
for (i = 0; i < dev->keycodemax; i++)
- if (INPUT_KEYCODE(dev,i) == u)
+ if (INPUT_KEYCODE(dev, i) == u)
set_bit(u, dev->keybit);
+
return 0;

case EVIOCSFF:
@@ -338,17 +443,17 @@ static long evdev_ioctl(struct file *fil
if (copy_from_user(&effect, p, sizeof(effect)))
return -EFAULT;
err = dev->upload_effect(dev, &effect);
- if (put_user(effect.id, &(((struct ff_effect __user *)arg)->id)))
+ if (put_user(effect.id, &(((struct ff_effect __user *)p)->id)))
return -EFAULT;
return err;
- }
- else return -ENOSYS;
+ } else
+ return -ENOSYS;

case EVIOCRMFF:
- if (dev->erase_effect) {
- return dev->erase_effect(dev, (int)arg);
- }
- else return -ENOSYS;
+ if (!dev->erase_effect)
+ return -ENOSYS;
+
+ return dev->erase_effect(dev, (int)(unsigned long) p);

case EVIOCGEFFECTS:
if (put_user(dev->ff_effects_max, ip))
@@ -356,7 +461,7 @@ static long evdev_ioctl(struct file *fil
return 0;

case EVIOCGRAB:
- if (arg) {
+ if (p) {
if (evdev->grab)
return -EBUSY;
if (input_grab_device(&evdev->handle))
@@ -395,62 +500,33 @@ static long evdev_ioctl(struct file *fil
case EV_SW: bits = dev->swbit; len = SW_MAX; break;
default: return -EINVAL;
}
- len = NBITS(len) * sizeof(long);
- if (len > _IOC_SIZE(cmd)) len = _IOC_SIZE(cmd);
- return copy_to_user(p, bits, len) ? -EFAULT : len;
+ return bits_to_user(bits, len, _IOC_SIZE(cmd), p, compat_mode);
}

- if (_IOC_NR(cmd) == _IOC_NR(EVIOCGKEY(0))) {
- int len;
- len = NBITS(KEY_MAX) * sizeof(long);
- if (len > _IOC_SIZE(cmd)) len = _IOC_SIZE(cmd);
- return copy_to_user(p, dev->key, len) ? -EFAULT : len;
- }
+ if (_IOC_NR(cmd) == _IOC_NR(EVIOCGKEY(0)))
+ return bits_to_user(dev->key, KEY_MAX, _IOC_SIZE(cmd),
+ p, compat_mode);

- if (_IOC_NR(cmd) == _IOC_NR(EVIOCGLED(0))) {
- int len;
- len = NBITS(LED_MAX) * sizeof(long);
- if (len > _IOC_SIZE(cmd)) len = _IOC_SIZE(cmd);
- return copy_to_user(p, dev->led, len) ? -EFAULT : len;
- }
+ if (_IOC_NR(cmd) == _IOC_NR(EVIOCGLED(0)))
+ return bits_to_user(dev->led, LED_MAX, _IOC_SIZE(cmd),
+ p, compat_mode);

- if (_IOC_NR(cmd) == _IOC_NR(EVIOCGSND(0))) {
- int len;
- len = NBITS(SND_MAX) * sizeof(long);
- if (len > _IOC_SIZE(cmd)) len = _IOC_SIZE(cmd);
- return copy_to_user(p, dev->snd, len) ? -EFAULT : len;
- }
+ if (_IOC_NR(cmd) == _IOC_NR(EVIOCGSND(0)))
+ return bits_to_user(dev->snd, SND_MAX, _IOC_SIZE(cmd),
+ p, compat_mode);

- if (_IOC_NR(cmd) == _IOC_NR(EVIOCGSW(0))) {
- int len;
- len = NBITS(SW_MAX) * sizeof(long);
- if (len > _IOC_SIZE(cmd)) len = _IOC_SIZE(cmd);
- return copy_to_user(p, dev->sw, len) ? -EFAULT : len;
- }
+ if (_IOC_NR(cmd) == _IOC_NR(EVIOCGSW(0)))
+ return bits_to_user(dev->sw, SW_MAX, _IOC_SIZE(cmd),
+ p, compat_mode);

- if (_IOC_NR(cmd) == _IOC_NR(EVIOCGNAME(0))) {
- int len;
- if (!dev->name) return -ENOENT;
- len = strlen(dev->name) + 1;
- if (len > _IOC_SIZE(cmd)) len = _IOC_SIZE(cmd);
- return copy_to_user(p, dev->name, len) ? -EFAULT : len;
- }
+ if (_IOC_NR(cmd) == _IOC_NR(EVIOCGNAME(0)))
+ return str_to_user(dev->name, _IOC_SIZE(cmd), p);

- if (_IOC_NR(cmd) == _IOC_NR(EVIOCGPHYS(0))) {
- int len;
- if (!dev->phys) return -ENOENT;
- len = strlen(dev->phys) + 1;
- if (len > _IOC_SIZE(cmd)) len = _IOC_SIZE(cmd);
- return copy_to_user(p, dev->phys, len) ? -EFAULT : len;
- }
+ if (_IOC_NR(cmd) == _IOC_NR(EVIOCGPHYS(0)))
+ return str_to_user(dev->phys, _IOC_SIZE(cmd), p);

- if (_IOC_NR(cmd) == _IOC_NR(EVIOCGUNIQ(0))) {
- int len;
- if (!dev->uniq) return -ENOENT;
- len = strlen(dev->uniq) + 1;
- if (len > _IOC_SIZE(cmd)) len = _IOC_SIZE(cmd);
- return copy_to_user(p, dev->uniq, len) ? -EFAULT : len;
- }
+ if (_IOC_NR(cmd) == _IOC_NR(EVIOCGUNIQ(0)))
+ return str_to_user(dev->uniq, _IOC_SIZE(cmd), p);

if ((_IOC_NR(cmd) & ~ABS_MAX) == _IOC_NR(EVIOCGABS(0))) {

@@ -492,158 +568,15 @@ static long evdev_ioctl(struct file *fil
return -EINVAL;
}

-#ifdef CONFIG_COMPAT
-
-#define BITS_PER_LONG_COMPAT (sizeof(compat_long_t) * 8)
-#define NBITS_COMPAT(x) ((((x)-1)/BITS_PER_LONG_COMPAT)+1)
-#define OFF_COMPAT(x) ((x)%BITS_PER_LONG_COMPAT)
-#define BIT_COMPAT(x) (1UL<<OFF_COMPAT(x))
-#define LONG_COMPAT(x) ((x)/BITS_PER_LONG_COMPAT)
-#define test_bit_compat(bit, array) ((array[LONG_COMPAT(bit)] >> OFF_COMPAT(bit)) & 1)
-
-#ifdef __BIG_ENDIAN
-#define bit_to_user(bit, max) \
-do { \
- int i; \
- int len = NBITS_COMPAT((max)) * sizeof(compat_long_t); \
- if (len > _IOC_SIZE(cmd)) len = _IOC_SIZE(cmd); \
- for (i = 0; i < len / sizeof(compat_long_t); i++) \
- if (copy_to_user((compat_long_t __user *) p + i, \
- (compat_long_t*) (bit) + i + 1 - ((i % 2) << 1), \
- sizeof(compat_long_t))) \
- return -EFAULT; \
- return len; \
-} while (0)
-#else
-#define bit_to_user(bit, max) \
-do { \
- int len = NBITS_COMPAT((max)) * sizeof(compat_long_t); \
- if (len > _IOC_SIZE(cmd)) len = _IOC_SIZE(cmd); \
- return copy_to_user(p, (bit), len) ? -EFAULT : len; \
-} while (0)
-#endif
+static long evdev_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
+{
+ return evdev_ioctl_handler(file, cmd, (void __user *)arg, 0);
+}

+#ifdef CONFIG_COMPAT
static long evdev_ioctl_compat(struct file *file, unsigned int cmd, unsigned long arg)
{
- struct evdev_list *list = file->private_data;
- struct evdev *evdev = list->evdev;
- struct input_dev *dev = evdev->handle.dev;
- struct input_absinfo abs;
- void __user *p = compat_ptr(arg);
-
- if (!evdev->exist) return -ENODEV;
-
- switch (cmd) {
-
- case EVIOCGVERSION:
- case EVIOCGID:
- case EVIOCGKEYCODE:
- case EVIOCSKEYCODE:
- case EVIOCSFF:
- case EVIOCRMFF:
- case EVIOCGEFFECTS:
- case EVIOCGRAB:
- return evdev_ioctl(file, cmd, (unsigned long) p);
-
- default:
-
- if (_IOC_TYPE(cmd) != 'E')
- return -EINVAL;
-
- if (_IOC_DIR(cmd) == _IOC_READ) {
-
- if ((_IOC_NR(cmd) & ~EV_MAX) == _IOC_NR(EVIOCGBIT(0,0))) {
- long *bits;
- int max;
-
- switch (_IOC_NR(cmd) & EV_MAX) {
- case 0: bits = dev->evbit; max = EV_MAX; break;
- case EV_KEY: bits = dev->keybit; max = KEY_MAX; break;
- case EV_REL: bits = dev->relbit; max = REL_MAX; break;
- case EV_ABS: bits = dev->absbit; max = ABS_MAX; break;
- case EV_MSC: bits = dev->mscbit; max = MSC_MAX; break;
- case EV_LED: bits = dev->ledbit; max = LED_MAX; break;
- case EV_SND: bits = dev->sndbit; max = SND_MAX; break;
- case EV_FF: bits = dev->ffbit; max = FF_MAX; break;
- case EV_SW: bits = dev->swbit; max = SW_MAX; break;
- default: return -EINVAL;
- }
- bit_to_user(bits, max);
- }
-
- if (_IOC_NR(cmd) == _IOC_NR(EVIOCGKEY(0)))
- bit_to_user(dev->key, KEY_MAX);
-
- if (_IOC_NR(cmd) == _IOC_NR(EVIOCGLED(0)))
- bit_to_user(dev->led, LED_MAX);
-
- if (_IOC_NR(cmd) == _IOC_NR(EVIOCGSND(0)))
- bit_to_user(dev->snd, SND_MAX);
-
- if (_IOC_NR(cmd) == _IOC_NR(EVIOCGSW(0)))
- bit_to_user(dev->sw, SW_MAX);
-
- if (_IOC_NR(cmd) == _IOC_NR(EVIOCGNAME(0))) {
- int len;
- if (!dev->name) return -ENOENT;
- len = strlen(dev->name) + 1;
- if (len > _IOC_SIZE(cmd)) len = _IOC_SIZE(cmd);
- return copy_to_user(p, dev->name, len) ? -EFAULT : len;
- }
-
- if (_IOC_NR(cmd) == _IOC_NR(EVIOCGPHYS(0))) {
- int len;
- if (!dev->phys) return -ENOENT;
- len = strlen(dev->phys) + 1;
- if (len > _IOC_SIZE(cmd)) len = _IOC_SIZE(cmd);
- return copy_to_user(p, dev->phys, len) ? -EFAULT : len;
- }
-
- if (_IOC_NR(cmd) == _IOC_NR(EVIOCGUNIQ(0))) {
- int len;
- if (!dev->uniq) return -ENOENT;
- len = strlen(dev->uniq) + 1;
- if (len > _IOC_SIZE(cmd)) len = _IOC_SIZE(cmd);
- return copy_to_user(p, dev->uniq, len) ? -EFAULT : len;
- }
-
- if ((_IOC_NR(cmd) & ~ABS_MAX) == _IOC_NR(EVIOCGABS(0))) {
-
- int t = _IOC_NR(cmd) & ABS_MAX;
-
- abs.value = dev->abs[t];
- abs.minimum = dev->absmin[t];
- abs.maximum = dev->absmax[t];
- abs.fuzz = dev->absfuzz[t];
- abs.flat = dev->absflat[t];
-
- if (copy_to_user(p, &abs, sizeof(struct input_absinfo)))
- return -EFAULT;
-
- return 0;
- }
- }
-
- if (_IOC_DIR(cmd) == _IOC_WRITE) {
-
- if ((_IOC_NR(cmd) & ~ABS_MAX) == _IOC_NR(EVIOCSABS(0))) {
-
- int t = _IOC_NR(cmd) & ABS_MAX;
-
- if (copy_from_user(&abs, p, sizeof(struct input_absinfo)))
- return -EFAULT;
-
- dev->abs[t] = abs.value;
- dev->absmin[t] = abs.minimum;
- dev->absmax[t] = abs.maximum;
- dev->absfuzz[t] = abs.fuzz;
- dev->absflat[t] = abs.flat;
-
- return 0;
- }
- }
- }
- return -EINVAL;
+ return evdev_ioctl_handler(file, cmd, compat_ptr(arg), 1);
}
#endif

2005-11-26 04:50:34

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: psmouse unusable in -mm series (was: 2.6.15-rc1-mm2 unsusable on DELL Inspiron 8200, 2.6.15-rc1 works fine)

On Friday 25 November 2005 22:54, Dmitry Torokhov wrote:
> > Actually, it works on the console (ie with gpm), but X is unable to use it,
> > apparently. ?However it used to be, at least on 2.6.14-git9 (this is the latest
> > non-mm kernel I've been able to test quickly on this box).
> >
>
> Rafael,
>
> does reverting the following patch makes touchpad work?

Or, try dropping this patch on top of -mm.

--
Dmitry

Signed-off-by: Dmitry Torokhov <[email protected]>
---

drivers/input/evdev.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

Index: work/drivers/input/evdev.c
===================================================================
--- work.orig/drivers/input/evdev.c
+++ work/drivers/input/evdev.c
@@ -205,11 +205,11 @@ static int evdev_event_to_user(const cha
compat_event.code = event->code;
compat_event.value = event->value;

- if (copy_to_user(&compat_event, buffer, sizeof(struct input_event_compat)))
+ if (copy_to_user(buffer, &compat_event, sizeof(struct input_event_compat)))
return -EFAULT;

} else {
- if (copy_to_user(event, buffer, sizeof(struct input_event)))
+ if (copy_to_user(buffer, event, sizeof(struct input_event)))
return -EFAULT;
}

2005-11-26 17:28:00

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: psmouse unusable in -mm series (was: 2.6.15-rc1-mm2 unsusable on DELL Inspiron 8200, 2.6.15-rc1 works fine)

On Saturday, 26 of November 2005 05:50, Dmitry Torokhov wrote:
> On Friday 25 November 2005 22:54, Dmitry Torokhov wrote:
> > > Actually, it works on the console (ie with gpm), but X is unable to use it,
> > > apparently. ?However it used to be, at least on 2.6.14-git9 (this is the latest
> > > non-mm kernel I've been able to test quickly on this box).
> > >
> >
> > Rafael,
> >
> > does reverting the following patch makes touchpad work?
>
> Or, try dropping this patch on top of -mm.

That helps (additionally I've dropped "const" from the header of
evdev_event_to_user, to avoid warnings).

Thanks,
Rafael

2005-11-28 06:01:29

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: psmouse unusable in -mm series (was: 2.6.15-rc1-mm2 unsusable on DELL Inspiron 8200, 2.6.15-rc1 works fine)

On Saturday 26 November 2005 12:28, Rafael J. Wysocki wrote:
> On Saturday, 26 of November 2005 05:50, Dmitry Torokhov wrote:
> > On Friday 25 November 2005 22:54, Dmitry Torokhov wrote:
> > > > Actually, it works on the console (ie with gpm), but X is unable to use it,
> > > > apparently. ?However it used to be, at least on 2.6.14-git9 (this is the latest
> > > > non-mm kernel I've been able to test quickly on this box).
> > > >
> > >
> > > Rafael,
> > >
> > > does reverting the following patch makes touchpad work?
> >
> > Or, try dropping this patch on top of -mm.
>
> That helps (additionally I've dropped "const" from the header of
> evdev_event_to_user, to avoid warnings).
>

Thank you for testing it.

For some reason sparc64 cross-compiler that I have did not issue any
warnings for the old code. I now tried doing x86_64 cross-compile and
it indeed warns me about constness and other problems.

--
Dmitry