Re: [PATCH] evdev: Release eventual input device grabs whengetting disconnected

From: Greg KH
Date: Mon Mar 31 2008 - 19:52:29 EST


On Tue, Apr 01, 2008 at 10:12:44AM +1100, Benjamin Herrenschmidt wrote:
>
> > I do agree that this might want reverting, unless there is some rally good
> > reason for it. People may have pefectly valid reasons to expect topology
> > and reachability to remain valid - it's certainly what we guarantee in the
> > VFS code for similar rules (ie the parent of a dentry is only free'd after
> > all children have gone away).
> >
> > Greg, is it possible to get the old lifetime rules back wrt his? They seem
> > valid and sane..
>
> Looks like we are seeing something similar with suspend, I just got this
> oops log. I think what happens is that appletouch suspend causes it to
> disconnect and then X console switches or closes the evdev, whatever,
> kaboom ...
>
> sd 0:0:0:0: [sda] Synchronizing SCSI cache
> sd 0:0:0:0: [sda] Result: hostbyte=0x01 driverbyte=0x00
> usbcore: deregistering interface driver appletouch
> input: appletouch disconnected
> PM: Syncing filesystems ... done.
> Oops: Kernel access of bad area, sig: 11 [#1]
> PowerMac
> Modules linked in: sg sd_mod binfmt_misc appletalk psnap llc hci_usb radeon drm rfcomm l2cap bluetooth cpufreq_userspace cpufreq_powersave cpufreq_ondemand cpufreq_conservative xt_tcpudp nf_conntrack_ipv4 xt_state nf_conntrack iptable_filter ip_tables x_tables fuse i2c_dev therm_adt746x sr_mod sbp2 apm_emu apm_emulation arc4 ecb snd_aoa_codec_tas snd_aoa_fabric_layout snd_aoa b43 mac80211 joydev pcmcia cfg80211 rng_core ohci1394 snd_aoa_i2sbus ieee1394 snd_pcm snd_page_alloc snd_seq_midi snd_rawmidi pmac_zilog serial_core snd_seq_midi_event snd_seq snd_timer snd_seq_device snd soundcore snd_aoa_soundbus yenta_socket rsrc_nonstatic pcmcia_core ssb uninorth_agp agpgart [last unloaded: appletouch]
> NIP: c02932a8 LR: c01f961c CTR: c002ac78
> REGS: d26e7dc0 TRAP: 0300 Not tainted (2.6.25-rc7-p1)
> MSR: 00009032 <EE,ME,IR,DR> CR: 24000888 XER: 00000000
> DAR: 00000000, DSISR: 42000000
> TASK = d5be6d30[14676] 'Xorg' THREAD: d26e6000
> GPR00: d26e7e78 d26e7e70 d5be6d30 ef065640 c037b570 c03a60d0 00000f40 00000001
> GPR08: 00000008 00000000 d26e7ea4 00000000 24000888 101fba44 101f3bc4 101f3bec
> GPR16: bffb0660 00000000 102187e4 10218ae4 102186e4 10218764 102189e4 bffb0574
> GPR24: 102187e4 101f3cf8 ef63c0d4 ef80cc20 ef152c1c ef065644 d5be6d30 ef065640
> NIP [c02932a8] __mutex_lock_slowpath+0x2c/0xc0
> LR [c01f961c] input_release_device+0x24/0x48
> Call Trace:
> [d26e7e70] [c0380000] 0xc0380000 (unreliable)
> [d26e7ea0] [c01f961c] input_release_device+0x24/0x48
> [d26e7ec0] [c01fd9c4] evdev_ungrab+0x4c/0x64
> [d26e7ed0] [c01fdac8] evdev_release+0xec/0xf0

Can you try it with the patch that was just posted by Dmitry for the
evdev code?

thanks,

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