1
linux/drivers/input
Adrian McMenamin 6b3480855a maple: input: fix up maple mouse driver
The maple mouse driver currently in mainline is broken:

bash-3.1# modprobe maplemouse
[   56.886378] input: Dreamcast Mouse as /devices/virtual/input/input3
[   56.918379] Unable to handle kernel NULL pointer dereference at virtual address 00000004
[   56.930543] pc = c003304e
[   56.934973] *pde = 00000000
[   56.944948] Oops: 0000 [#1]
[   56.947867] Modules linked in: maplemouse(+)
[   56.952353]
[   56.953921] Pid : 1157, Comm: \0x09\0x09modprobe
[   56.958021] CPU : 0        \0x09\0x09Not tainted  (2.6.30-rc2-00130-g3e98f9f #1)
[   56.958052]
[   56.966567] PC is at dc_mouse_open+0xe/0x40 [maplemouse]
[   56.972125] PR is at input_open_device+0x8a/0xc0
[   56.976944] PC  : c003304e SP  : 8c88bdcc SR  : 40008100 TEA : c0033834
[   56.983854] R0  : 000006c4 R1  : 00000000 R2  : 40008101 R3  : 00000000
[   56.990744] R4  : 8c8db800 R5  : c0033080 R6  : 00000005 R7  : 00000200
[   56.997635] R8  : 8c8db800 R9  : 8c8dbe3c R10 : 00000000 R11 : 8c98881c
[   57.004525] R12 : 8c8dbe64 R13 : 8ca50140 R14 : 8c88bdd4
[   57.010063] MACH: 00000497 MACL: 00000348 GBR : 29674440 PR  : 8c1b4d0a
[   57.016939]
...

Here is a fix for this, keeping an open and close, so reducing
the load on the system when the mouse is not in use, and also properly
referencing the maple device buffer following the recent update.

Signed-off-by: Adrian McMenamin <adrian@mcmen.demon.co.uk>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-04-27 09:22:31 +09:00
..
gameport Input: gameport - fix attach driver code 2009-04-15 08:58:19 -07:00
joystick sh: maple: Support block reads and writes. 2009-02-27 16:07:32 +09:00
keyboard Merge branch 'next' into for-linus 2009-04-16 08:51:52 -07:00
misc Input: hp_sdc_rtc should depend on serio 2009-04-15 08:58:19 -07:00
mouse maple: input: fix up maple mouse driver 2009-04-27 09:22:31 +09:00
serio drivers/input/serio/hp_sdc.c: fix crash when removing hp_sdc module 2009-04-21 13:41:49 -07:00
tablet Input: gtco - use USB endpoint API 2008-12-30 01:09:55 -08:00
touchscreen Merge branch 'next' into for-linus 2009-04-16 08:51:52 -07:00
apm-power.c
evbug.c Input: struct device - replace bus_id with dev_name(), dev_set_name() 2008-10-30 09:29:05 -04:00
evdev.c Rationalize fasync return values 2009-03-16 08:34:35 -06:00
ff-core.c
ff-memless.c input: replace spin_lock_bh with spin_lock_irqsave in ml_ff_playback 2008-11-30 10:36:51 -08:00
fixp-arith.h
input-compat.c Input: refactor evdev 32bit compat to be shareable with uinput 2008-10-27 22:03:42 -04:00
input-compat.h Input: refactor evdev 32bit compat to be shareable with uinput 2008-10-27 22:03:42 -04:00
input-polldev.c
input.c Merge branch 'next' into for-linus 2009-04-16 08:51:52 -07:00
joydev.c Rationalize fasync return values 2009-03-16 08:34:35 -06:00
Kconfig trivial: fix typos/grammar errors in Kconfig texts 2009-03-30 15:22:01 +02:00
Makefile Input: refactor evdev 32bit compat to be shareable with uinput 2008-10-27 22:03:42 -04:00
mousedev.c Rationalize fasync return values 2009-03-16 08:34:35 -06:00
xen-kbdfront.c get xenbus_driver ->probe() "recognized" by modpost 2008-11-30 10:03:38 -08:00