linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johannes Ebke <johannes.ebke@physik.uni-muenchen.de>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Jiri Kosina <jkosina@suse.cz>, linux-input@vger.kernel.org
Subject: Re: Linux Force Feedback for Saitek Cyborg Evo Force
Date: Tue, 29 Dec 2009 13:46:21 +0100	[thread overview]
Message-ID: <4B39FA1D.6070107@physik.uni-muenchen.de> (raw)
In-Reply-To: <20091221082259.GG3234@core.coreip.homeip.net>

Dmitry Torokhov wrote:
> On Sun, Dec 20, 2009 at 11:44:19PM -0800, Dmitry Torokhov wrote:
>> On Sun, Dec 20, 2009 at 12:36:23AM +0100, Johannes Ebke wrote:
>>> Hi,
>>>
>>> It seems that the force feedback works well, I have ported the force
>>> feedback for my favorite game to linux now, and it works well.
>>>
>>> What does not work is updating effects - there just nothing happens, and
>>> the old event is played. I have circumvented this by
>>> deleting/re-uploading the effect, but this should probably been made to
>>> work. Does it work well with other hardware?
>>>
>>> Thirdly, I have re-discovered one kernel oops that occurs if the
>>> joystick is unplugged if some process still has the event device open.
>>> Steps to reproduce:
>>> * plug joystick in
>>> * fftest /dev/input/eventXX
>>> * unplug joystick
>>>
>>> (kern.log extract attached)
>>>
>>> Sometimes this just gives an oops, sometimes it escalates into a kernel
>>> panic.
>>>
>> Hmm, it looks like iforce unbinding is completely busted:
>>
>> static void iforce_usb_disconnect(struct usb_interface *intf)
>> {
>>         struct iforce *iforce = usb_get_intfdata(intf);
>>         int open = 0; /* FIXME! iforce->dev.handle->open; */
>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>
>>         usb_set_intfdata(intf, NULL);
>>         if (iforce) {
>>                 iforce->usbdev = NULL;
>>                 input_unregister_device(iforce->dev);
>>
>>                 if (!open) {
>>                         iforce_delete_device(iforce);
>>                         kfree(iforce);
>>                 }
>>         }
>> }
>>
>>
>> Any chance you could fix that FIXME ;) ?
>>
>
> Actually, does the below fixes it for you?
>

This fixes the kernel oops - thanks! However it also disables FF, unless
I remove "usb_kill_urb(iforce->out);" from iforce_close.
>From some debug statements I found that iforce_close is called twice if
you just plug in the joystick, so the effect is immediate.

However, when I unplug the joystick while having it open, I get some
input input22: usb_submit_urb failed -19
messages in dmesg (after iforce_disconnect but before iforce_close)
This is probably what should happen, however.

Cheers,
Johannes

  reply	other threads:[~2009-12-29 12:46 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <4B26B824.8010403@physik.uni-muenchen.de>
2009-12-15 13:07 ` Linux Force Feedback for Saitek Cyborg Evo Force Jiri Kosina
2009-12-17 23:18   ` Johannes Ebke
2009-12-18  8:59     ` Johannes Ebke
2009-12-18 10:52     ` Jiri Kosina
2009-12-18 17:50       ` Dmitry Torokhov
2009-12-19 23:36         ` Johannes Ebke
2009-12-21  0:22           ` Melchior FRANZ
2009-12-21  7:44           ` Dmitry Torokhov
2009-12-21  7:59             ` Dmitry Torokhov
2009-12-21  8:22             ` Dmitry Torokhov
2009-12-29 12:46               ` Johannes Ebke [this message]
2009-12-29 22:40                 ` Dmitry Torokhov
2009-12-30  3:23                   ` Dmitry Torokhov
2009-12-30  9:01                     ` Johannes Ebke
2009-12-30 10:47                       ` Dmitry Torokhov
2009-12-30 11:32                         ` Johannes Ebke
2011-06-08 18:51                           ` Richie Ward
2009-12-21 11:45             ` [PATCH] " Johannes Ebke
2009-12-21  0:24 Melchior FRANZ

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B39FA1D.6070107@physik.uni-muenchen.de \
    --to=johannes.ebke@physik.uni-muenchen.de \
    --cc=dmitry.torokhov@gmail.com \
    --cc=jkosina@suse.cz \
    --cc=linux-input@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).