Git Product home page Git Product logo

Comments (4)

Loxrie avatar Loxrie commented on August 12, 2024

This is from kern.log:

May  2 16:47:36 raspberrypi kernel: [    7.684895] mk_arcade_joystick_rpi: pad type : 1
May  2 16:47:36 raspberrypi kernel: [    7.694052] mk_arcade_joystick_rpi: pad type : 1
May  2 16:47:36 raspberrypi kernel: [    7.703104] GPIO configured for pad0
May  2 16:47:36 raspberrypi kernel: [    7.713447] input: GPIO Controller 1 as /devices/virtual/input/input2
May  2 16:47:36 raspberrypi kernel: [    7.727587] mk_arcade_joystick_rpi: pad type : 2
May  2 16:47:36 raspberrypi kernel: [    7.736925] mk_arcade_joystick_rpi: pad type : 2
May  2 16:47:36 raspberrypi kernel: [    7.748018] GPIO configured for pad1
May  2 16:47:36 raspberrypi kernel: [    7.758302] input: GPIO Controller 2 as /devices/virtual/input/input3
May  2 16:47:36 raspberrypi kernel: [    7.758391] Unable to handle kernel NULL pointer dereference at virtual address 00000000
May  2 16:47:36 raspberrypi kernel: [    7.758399] pgd = a46dc000
May  2 16:47:36 raspberrypi kernel: [    7.758449] [00000000] *pgd=246d2831, *pte=00000000, *ppte=00000000
May  2 16:47:36 raspberrypi kernel: [    7.758465] Internal error: Oops: 817 [#1] PREEMPT SMP ARM
May  2 16:47:36 raspberrypi kernel: [    7.758534] Modules linked in: mk_arcade_joystick_rpi(O+) snd_bcm2835 snd_pcm snd_seq snd_seq_device snd_timer snd sg arc4 rt2800usb rt2800lib rt2x00usb rt2x00lib mac80211 cfg80211 crc_ccitt rfkill joydev evdev uio_pdrv_genirq uio
May  2 16:47:36 raspberrypi kernel: [    7.758550] CPU: 0 PID: 770 Comm: th-cmd Tainted: G           O   3.18.11-v7+ #777
May  2 16:47:36 raspberrypi kernel: [    7.758558] task: a57f4500 ti: a45c0000 task.ti: a45c0000
May  2 16:47:36 raspberrypi kernel: [    7.758579] PC is at __mutex_lock_interruptible_slowpath+0x124/0x204
May  2 16:47:36 raspberrypi kernel: [    7.758588] LR is at __mutex_lock_interruptible_slowpath+0x88/0x204
May  2 16:47:36 raspberrypi kernel: [    7.758598] pc : [<80522b20>]    lr : [<80522a84>]    psr: a0000013
May  2 16:47:36 raspberrypi kernel: [    7.758598] sp : a45c1cc8  ip : a45c1cc8  fp : a45c1d04
May  2 16:47:36 raspberrypi kernel: [    7.758604] r10: a55a6fdc  r9 : a45c0008  r8 : a5725158
May  2 16:47:36 raspberrypi kernel: [    7.758611] r7 : ffffffff  r6 : a55a6fd8  r5 : a57f4500  r4 : a55a6fd4
May  2 16:47:36 raspberrypi kernel: [    7.758618] r3 : 00000000  r2 : a45c1ccc  r1 : 00000000  r0 : a55a6fd8
May  2 16:47:36 raspberrypi kernel: [    7.758627] Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
May  2 16:47:36 raspberrypi kernel: [    7.758635] Control: 10c5387d  Table: 246dc06a  DAC: 00000015
May  2 16:47:36 raspberrypi kernel: [    7.758642] Process th-cmd (pid: 770, stack limit = 0xa45c0238)
May  2 16:47:36 raspberrypi kernel: [    7.758649] Stack: (0xa45c1cc8 to 0xa45c2000)
May  2 16:47:36 raspberrypi kernel: [    7.758662] 1cc0:                   8001cd48 a55a6fdc 00000000 a45c1ce0 8001d43c a55a6e00
May  2 16:47:36 raspberrypi kernel: [    7.758676] 1ce0: a55a6fd4 a5fead90 00000000 a5725158 a5584c00 00000000 a45c1d14 a45c1d08
May  2 16:47:36 raspberrypi kernel: [    7.758690] 1d00: 80522c60 80522a08 a45c1d2c a45c1d18 7f1fe108 80522c0c a5feac00 a55a7004
May  2 16:47:36 raspberrypi kernel: [    7.758704] 1d20: a45c1d54 a45c1d30 803e09cc 7f1fe0f0 00000001 a5549000 a55a7148 a55a7040
May  2 16:47:36 raspberrypi kernel: [    7.758719] 1d40: a55a7044 a5725158 a45c1d84 a45c1d58 7f00b15c 803e0954 7f00b00c a55a7148
May  2 16:47:36 raspberrypi kernel: [    7.758733] 1d60: 7f00be28 a5725158 a5584c00 00000000 00000000 00000000 a45c1db4 a45c1d88
May  2 16:47:36 raspberrypi kernel: [    7.758747] 1d80: 80141234 7f00b018 00000000 00000000 a45c1db4 a5584c00 a5725158 a5584c08
May  2 16:47:36 raspberrypi kernel: [    7.758761] 1da0: 80141184 00000000 a45c1ddc a45c1db8 8013ad28 80141190 a45c1ed0 a45c1f5c
May  2 16:47:36 raspberrypi kernel: [    7.758775] 1dc0: 00000000 a45c1e88 00000000 00000000 a45c1dec a45c1de0 8013aefc 8013ab74
May  2 16:47:36 raspberrypi kernel: [    7.758789] 1de0: a45c1e64 a45c1df0 80149d44 8013aeb4 a45c1e64 a45c1e00 80148750 80146a84
May  2 16:47:36 raspberrypi kernel: [    7.758803] 1e00: a45c1f0a 000048b8 a45c0000 00000000 00000000 00000000 00000000 00000000
May  2 16:47:36 raspberrypi kernel: [    7.758817] 1e20: a5986cc0 00000024 a5584c00 00000000 a45c1e64 a5725158 8014724c a5584c00
May  2 16:47:36 raspberrypi kernel: [    7.758831] 1e40: a45c1ed0 a45c1f5c a45c1e88 00000000 00000000 a45c0000 a45c1ec4 a45c1e68
May  2 16:47:36 raspberrypi kernel: [    7.758845] 1e60: 8014a8f4 80149c10 a45c1e84 80150015 a45c1f08 00000016 00000000 00000000
May  2 16:47:36 raspberrypi kernel: [    7.758858] 1e80: 00000000 00000000 a5ff9d90 a59fb440 a45c1eb4 a45c1ea0 a55f4000 a45c1f5c
May  2 16:47:36 raspberrypi kernel: [    7.758872] 1ea0: 00000001 a554b000 ffffff9c 8000ed68 a45c0000 00000000 a45c1f4c a45c1ec8
May  2 16:47:36 raspberrypi kernel: [    7.758886] 1ec0: 8014bac8 8014a83c 00000041 fffffffe a5ff9d90 a59fb440 e1915c01 00000006
May  2 16:47:36 raspberrypi kernel: [    7.758900] 1ee0: a554b01b 00000000 00000000 a59b87f8 a5725158 00000101 00000004 0000004e
May  2 16:47:36 raspberrypi kernel: [    7.758915] 1f00: 00000000 00000000 00000000 a5f9e940 00000000 00000000 a554b000 ffffff9c
May  2 16:47:36 raspberrypi kernel: [    7.758928] 1f20: 00000005 8000ed68 a45c0000 00000000 00000000 a554b000 ffffff9c 00000004
May  2 16:47:36 raspberrypi kernel: [    7.758942] 1f40: a45c1f94 a45c1f50 8013c0c0 8014ba98 00000000 a5844c40 a45c1f74 00000000
May  2 16:47:36 raspberrypi kernel: [    7.758955] 1f60: 80150000 00000024 00000100 00000001 00000000 00000000 00008828 00000005
May  2 16:47:36 raspberrypi kernel: [    7.758969] 1f80: 8000ed68 a45c0000 a45c1fa4 a45c1f98 8013c1bc 8013bfc4 00000000 a45c1fa8
May  2 16:47:36 raspberrypi kernel: [    7.758983] 1fa0: 8000eac0 8013c19c 00000000 00000000 7ef5df19 00000000 00000000 00000001
May  2 16:47:36 raspberrypi kernel: [    7.758996] 1fc0: 00000000 00000000 00008828 00000005 00000000 00000000 76f5b000 7ef5dc34
May  2 16:47:36 raspberrypi kernel: [    7.759010] 1fe0: 00000000 7ef5d9cc 000093b0 76e9af2c 60000010 7ef5df19 00000000 00000000
May  2 16:47:36 raspberrypi kernel: [    7.759042] [<80522b20>] (__mutex_lock_interruptible_slowpath) from [<80522c60>] (mutex_lock_interruptible+0x60/0x64)
May  2 16:47:36 raspberrypi kernel: [    7.759072] [<80522c60>] (mutex_lock_interruptible) from [<7f1fe108>] (mk_open+0x24/0x6c [mk_arcade_joystick_rpi])
May  2 16:47:36 raspberrypi kernel: [    7.759116] [<7f1fe108>] (mk_open [mk_arcade_joystick_rpi]) from [<803e09cc>] (input_open_device+0x84/0xbc)
May  2 16:47:36 raspberrypi kernel: [    7.759143] [<803e09cc>] (input_open_device) from [<7f00b15c>] (evdev_open+0x150/0x184 [evdev])
May  2 16:47:36 raspberrypi kernel: [    7.759168] [<7f00b15c>] (evdev_open [evdev]) from [<80141234>] (chrdev_open+0xb0/0x188)
May  2 16:47:36 raspberrypi kernel: [    7.759190] [<80141234>] (chrdev_open) from [<8013ad28>] (do_dentry_open.isra.15+0x1c0/0x2f8)
May  2 16:47:36 raspberrypi kernel: [    7.759210] [<8013ad28>] (do_dentry_open.isra.15) from [<8013aefc>] (vfs_open+0x54/0x58)
May  2 16:47:36 raspberrypi kernel: [    7.759231] [<8013aefc>] (vfs_open) from [<80149d44>] (do_last.isra.53+0x140/0xc2c)
May  2 16:47:36 raspberrypi kernel: [    7.759251] [<80149d44>] (do_last.isra.53) from [<8014a8f4>] (path_openat+0xc4/0x640)
May  2 16:47:36 raspberrypi kernel: [    7.759270] [<8014a8f4>] (path_openat) from [<8014bac8>] (do_filp_open+0x3c/0x90)
May  2 16:47:36 raspberrypi kernel: [    7.759290] [<8014bac8>] (do_filp_open) from [<8013c0c0>] (do_sys_open+0x108/0x1d8)
May  2 16:47:36 raspberrypi kernel: [    7.759308] [<8013c0c0>] (do_sys_open) from [<8013c1bc>] (SyS_open+0x2c/0x30)
May  2 16:47:36 raspberrypi kernel: [    7.759329] [<8013c1bc>] (SyS_open) from [<8000eac0>] (ret_fast_syscall+0x0/0x48)
May  2 16:47:36 raspberrypi kernel: [    7.759343] Code: e50b3034 e50ba038 e584200c e3e07000 (e5832000) 
May  2 16:47:36 raspberrypi kernel: [    7.759445] ---[ end trace a12ea3875c38d26d ]---
May  2 16:47:36 raspberrypi kernel: [    7.759458] note: th-cmd[770] exited with preempt_count 2

from mk_arcade_joystick_rpi.

Loxrie avatar Loxrie commented on August 12, 2024

In case it helps here's the modinfo output

filename:       /lib/modules/3.18.11-v7+/updates/dkms/mk_arcade_joystick_rpi.ko
license:        GPL
description:    GPIO and MCP23017 Arcade Joystick Driver
author:         Matthieu Proucelle
srcversion:     AE04817EFD61267CE227B3F
depends:        
vermagic:       3.18.11+-v7 SMP preempt mod_unload modversions ARMv7 
parm:           map:Enable or disable GPIO and MCP23017 Arcade Joystick (array of int)

from mk_arcade_joystick_rpi.

Loxrie avatar Loxrie commented on August 12, 2024

I may have moved/solved this problem. I moved the mutex_init and setup_timer calls to just underneath the kzalloc and sanity check. This resolves the crash on boot issue for me, if I just moved mutex_init the mod_timer function call in mk_open was causing a similar stack trace with 2 joysticks and mk->timer wasn't initialised.

All this seems to have achieved is to get me back to the same issue I had with installing the driver via rc.local. With it in /etc/modules it installs fine with no errors during boot but driver doesn't show up in lsmod later. For example during boot:

May  4 14:05:17 raspberrypi kernel: [    7.146891] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
May  4 14:05:17 raspberrypi kernel: [    7.696577] mk_arcade_joystick_rpi: pad type : 1
May  4 14:05:17 raspberrypi kernel: [    7.706052] mk_arcade_joystick_rpi: pad type : 1
May  4 14:05:17 raspberrypi kernel: [    7.715430] GPIO configured for pad0
May  4 14:05:17 raspberrypi kernel: [    7.723702] input: GPIO Controller 1 as /devices/virtual/input/input2
May  4 14:05:17 raspberrypi kernel: [    7.735514] mk_arcade_joystick_rpi: pad type : 2
May  4 14:05:17 raspberrypi kernel: [    7.745024] mk_arcade_joystick_rpi: pad type : 2
May  4 14:05:17 raspberrypi kernel: [    7.754160] GPIO configured for pad1
May  4 14:05:17 raspberrypi kernel: [    7.763536] input: GPIO Controller 2 as /devices/virtual/input/input3
May  4 14:05:17 raspberrypi kernel: [   11.991202] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup

That 4 second gap is alarming too. Yet lsmod shows nothing. A subsequent modprobe of mk_arcade_joystick_rpi map=1,2 from the command line gives:

May  4 14:05:18 raspberrypi kernel: [   16.127420] Bluetooth: BNEP socket layer initialized
May  4 14:06:23 raspberrypi kernel: [   66.946869] mk_arcade_joystick_rpi: pad type : 1
May  4 14:06:23 raspberrypi kernel: [   66.946895] mk_arcade_joystick_rpi: pad type : 1
May  4 14:06:23 raspberrypi kernel: [   66.946952] GPIO configured for pad0
May  4 14:06:23 raspberrypi kernel: [   66.947322] input: GPIO Controller 1 as /devices/virtual/input/input4
May  4 14:06:23 raspberrypi kernel: [   66.947941] mk_arcade_joystick_rpi: pad type : 2
May  4 14:06:23 raspberrypi kernel: [   66.947959] mk_arcade_joystick_rpi: pad type : 2
May  4 14:06:23 raspberrypi kernel: [   66.948010] GPIO configured for pad1
May  4 14:06:23 raspberrypi kernel: [   66.948449] input: GPIO Controller 2 as /devices/virtual/input/input5

How odd. Is something in the boot process culling the driver after install because it believes it to be unused?

from mk_arcade_joystick_rpi.

Loxrie avatar Loxrie commented on August 12, 2024

I meant to update this issue, ignore my comments above about the fixes getting me back to the point where it was installing but not showing up in lsmod. It is installing, it is showing up in lsmod and it's working fine; though I won't be giving it any strenuous testing for a week or so.

from mk_arcade_joystick_rpi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.