From patchwork Sun Feb 22 21:50:17 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Kosina X-Patchwork-Id: 5862621 Return-Path: X-Original-To: patchwork-linux-input@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 681409F373 for ; Sun, 22 Feb 2015 21:50:37 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 6324B20591 for ; Sun, 22 Feb 2015 21:50:36 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 408712058A for ; Sun, 22 Feb 2015 21:50:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752241AbbBVVuV (ORCPT ); Sun, 22 Feb 2015 16:50:21 -0500 Received: from cantor2.suse.de ([195.135.220.15]:39865 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752156AbbBVVuT (ORCPT ); Sun, 22 Feb 2015 16:50:19 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id DD05FAAC8; Sun, 22 Feb 2015 21:50:17 +0000 (UTC) Date: Sun, 22 Feb 2015 22:50:17 +0100 (CET) From: Jiri Kosina To: Pavel Machek cc: kernel list , linux-input@vger.kernel.org, rydberg@bitmath.org, Frank Praznik , David Herrmann Subject: Re: 3.19: Sony playstation controller causes kernel oops In-Reply-To: <20150222213513.GA15224@amd> Message-ID: References: <20150222213513.GA15224@amd> User-Agent: Alpine 2.00 (LNX 1167 2008-08-23) MIME-Version: 1.0 Sender: linux-input-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP [ some CCs added and full dmesg kept for reference ] On Sun, 22 Feb 2015, Pavel Machek wrote: > Hi! > > I plugged in part of PS move to the PC, to let it charge. Got: full > dmesg in attachment. I believe I charged it in PC before, but it may > be year ago or more. > > Ideas? Ok, this is embarassing. I guess the patch below fixes it, right? (the spinlock got introduced in d2d782fccee, so I guess you didn't have it a year ago) > [124225.084151] usb 2-1: USB disconnect, device number 2 > [124227.240047] usb 2-1: new full-speed USB device number 3 using uhci_hcd > [124227.519329] usb 2-1: New USB device found, idVendor=054c, idProduct=042f > [124227.519335] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 > [124227.519338] usb 2-1: Product: Navigation Controller > [124227.519341] usb 2-1: Manufacturer: Sony > [124227.599936] input: Sony Navigation Controller as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.0/0003:054C:042F.0005/input/input50 > [124227.657352] sony 0003:054C:042F.0005: input,hiddev0,hidraw3: USB HID v1.11 Joystick [Sony Navigation Controller] on usb-0000:00:1d.0-1/input0 > [124227.692076] BUG: spinlock bad magic on CPU#0, kworker/0:0/15184 > [124227.692088] lock: sony_dev_list_lock+0x0/0x38, .magic: 00000000, .owner: /-1, .owner_cpu: 0 > [124227.692092] CPU: 0 PID: 15184 Comm: kworker/0:0 Tainted: G W 3.19.0 #17 > [124227.692094] Hardware name: /DG41MJ, BIOS MJG4110H.86A.0006.2009.1223.1155 12/23/2009 > [124227.692100] Workqueue: usb_hub_wq hub_event > [124227.692103] ffffffff85b83800 ffff880001153468 ffffffff84949b24 0000000000000007 > [124227.692109] 0000000000000000 ffff880001153488 ffffffff84081330 ffffffff85b83800 > [124227.692114] ffffffff84d64cc0 ffff8800011534a8 ffffffff840813b1 ffffffff85b83800 > [124227.692119] Call Trace: > [124227.692125] [] dump_stack+0x45/0x57 > [124227.692131] [] spin_dump+0x80/0xe0 > [124227.692135] [] spin_bug+0x21/0x30 > [124227.692139] [] do_raw_spin_lock+0x12c/0x190 > [124227.692142] [] _raw_spin_lock_irqsave+0x3a/0x50 > [124227.692147] [] ? sony_probe+0x556/0xd60 > [124227.692151] [] sony_probe+0x556/0xd60 > [124227.692156] [] ? hid_match_id+0x2d/0x50 > [124227.692160] [] hid_device_probe+0xd4/0x150 > [124227.692165] [] ? driver_probe_device+0x3d0/0x3d0 > [124227.692169] [] driver_probe_device+0x8b/0x3d0 > [124227.692173] [] ? driver_probe_device+0x3d0/0x3d0 > [124227.692176] [] __device_attach+0x3b/0x40 > [124227.692180] [] bus_for_each_drv+0x63/0xa0 > [124227.692183] [] device_attach+0x90/0xb0 > [124227.692187] [] bus_probe_device+0xb0/0xe0 > [124227.692191] [] device_add+0x48d/0x660 > [124227.692195] [] hid_add_device+0xc1/0x290 > [124227.692199] [] ? __raw_spin_lock_init+0x31/0x60 > [124227.692203] [] usbhid_probe+0x327/0x480 > [124227.692208] [] usb_probe_interface+0x1d6/0x350 > [124227.692211] [] ? driver_probe_device+0x3d0/0x3d0 > [124227.692215] [] driver_probe_device+0x8b/0x3d0 > [124227.692219] [] ? driver_probe_device+0x3d0/0x3d0 > [124227.692222] [] __device_attach+0x3b/0x40 > [124227.692226] [] bus_for_each_drv+0x63/0xa0 > [124227.692229] [] device_attach+0x90/0xb0 > [124227.692233] [] bus_probe_device+0xb0/0xe0 > [124227.692236] [] device_add+0x48d/0x660 > [124227.692240] [] usb_set_configuration+0x563/0x960 > [124227.692245] [] ? kernfs_add_one+0xe2/0x170 > [124227.692249] [] ? driver_probe_device+0x3d0/0x3d0 > [124227.692254] [] generic_probe+0x29/0x90 > [124227.692258] [] usb_probe_device+0x2d/0x80 > [124227.692262] [] driver_probe_device+0x8b/0x3d0 > [124227.692265] [] ? driver_probe_device+0x3d0/0x3d0 > [124227.692269] [] __device_attach+0x3b/0x40 > [124227.692272] [] bus_for_each_drv+0x63/0xa0 > [124227.692276] [] device_attach+0x90/0xb0 > [124227.692279] [] bus_probe_device+0xb0/0xe0 > [124227.692283] [] device_add+0x48d/0x660 > [124227.692286] [] usb_new_device+0x2b0/0x500 > [124227.692290] [] hub_event+0x886/0x1620 > [124227.692295] [] process_one_work+0x1ab/0x430 > [124227.692299] [] ? process_one_work+0x146/0x430 > [124227.692303] [] worker_thread+0x6b/0x480 > [124227.692307] [] ? cancel_delayed_work+0x80/0x80 > [124227.692311] [] kthread+0x100/0x120 > [124227.692315] [] ? kthread_create_on_node+0x230/0x230 > [124227.692319] [] ret_from_fork+0x7c/0xb0 > [124227.692323] [] ? kthread_create_on_node+0x230/0x230 diff --git a/drivers/hid/hid-sony.c b/drivers/hid/hid-sony.c index 31e9d25..3756a62 100644 --- a/drivers/hid/hid-sony.c +++ b/drivers/hid/hid-sony.c @@ -2140,6 +2140,7 @@ static int __init sony_init(void) { dbg_hid("Sony:%s\n", __func__); + spin_lock_init(&sony_dev_list_lock); return hid_register_driver(&sony_driver); }