From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Johannes Ebke <johannes.ebke@physik.uni-muenchen.de>
Cc: Jiri Kosina <jkosina@suse.cz>,
"linux-input@vger.kernel.org" <linux-input@vger.kernel.org>
Subject: Re: Linux Force Feedback for Saitek Cyborg Evo Force
Date: Tue, 29 Dec 2009 14:40:21 -0800 [thread overview]
Message-ID: <1AD572D6-2C2F-4664-9B52-36A8D1BE8B29@gmail.com> (raw)
In-Reply-To: <4B39FA1D.6070107@physik.uni-muenchen.de>
Dec 29, 2009, at 4:46 AM, Johannes Ebke <johannes.ebke@physik.uni-muenchen.de
> wrote:
> 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.
I still believe that usb_kill_urb is needed however we need to wait
for packet disabling FF to complete.
>
> 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.
>
This is indeed expected with surprise removals.
--
Dmitry
next prev parent reply other threads:[~2009-12-29 22:40 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
2009-12-29 22:40 ` Dmitry Torokhov [this message]
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=1AD572D6-2C2F-4664-9B52-36A8D1BE8B29@gmail.com \
--to=dmitry.torokhov@gmail.com \
--cc=jkosina@suse.cz \
--cc=johannes.ebke@physik.uni-muenchen.de \
--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).