All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Herrmann <dh.herrmann@googlemail.com>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: linux-input@vger.kernel.org, padovan@profusion.mobi,
	jkosina@suse.cz, oliver@neukum.org
Subject: Re: [PATCH 05/12] HID: wiimote: Synchronize wiimote input and hid event handling
Date: Wed, 29 Jun 2011 14:39:06 +0200	[thread overview]
Message-ID: <BANLkTimbhk9y8V6ff0FiTsjNQWw6wBXjNA@mail.gmail.com> (raw)
In-Reply-To: <ca4e286b-420b-4d36-bb97-243dcdc9a527@email.android.com>

On Tue, Jun 28, 2011 at 7:49 AM, Dmitry Torokhov
<dmitry.torokhov@gmail.com> wrote:
>
>
> David Herrmann <dh.herrmann@googlemail.com> wrote:
>
>>The wiimote first starts HID hardware and then registers the input
>>device. We need to synchronize the startup so no event handler will
>>start parsing events when the wiimote device is not ready, yet.
>>
>
> I believe this is generic HID layer problem. Would it be possible to fix this issue there?

The point is, I do not use HIDINPUT/HIDDEV (see commit message 2/12).
The wiimote has no valid report-descriptor table so hidinput/hiddev do
not make sense. I could set up a valid report-descriptor-table, use
input_mapping, input_mapped, report_fixup callbacks and then use
HIDINPUT. However, that would be far more complex than my current
solution, which is creating my own input instance and also my own
synchronization.
Furthermore, the wiimote provides input/output features that cannot be
handled by the generic HID handler, so I would need to extend the
input_mapping, anyway.

But, thanks to your hint, I looked at hid_hw_start() again and as far
as I can see the synchronization issue exists there, too.
The ll_driver->start() function is called first and after that, the
input instance is registered.
If the ll_driver reports an event before the input instance is
registered, the hidinput/other-driver will call input_event() on an
invalid input instance (probably even a NULL dereference).
This may not be a problem for usbhid, because usbhid_open() has to be
called first, however, hidp (bluetooth hid) ignores the *_open()
callback and therefore may fail.

I will look at this again and send a separate mail to this list,
however, I don't think this is related to my driver? Or do you think I
should replace my input-handling with HIDINPUT to be more homogeneous
with the other hid drivers?

> Thanks.
>
> --
> Dmitry

Regards
David

  reply	other threads:[~2011-06-29 12:39 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-27 14:30 [PATCH 01/12] HID: wiimote: Add Nintendo Wii Remote driver stub David Herrmann
2011-06-27 14:30 ` [PATCH 02/12] HID: wiimote: Register wiimote hid " David Herrmann
2011-06-27 14:30 ` [PATCH 03/12] HID: wiimote: Add wiimote device structure David Herrmann
2011-06-27 14:30 ` [PATCH 04/12] HID: wiimote: Register input device in wiimote hid driver David Herrmann
2011-06-27 14:30 ` [PATCH 05/12] HID: wiimote: Synchronize wiimote input and hid event handling David Herrmann
2011-06-28  5:49   ` Dmitry Torokhov
2011-06-29 12:39     ` David Herrmann [this message]
2011-07-11 12:29       ` Jiri Kosina
2011-06-27 14:30 ` [PATCH 06/12] HID: wiimote: Add wiimote send function David Herrmann
2011-06-27 14:30 ` [PATCH 07/12] HID: wiimote: Add output queue for wiimote driver David Herrmann
2011-06-28  4:51   ` Dmitry Torokhov
2011-06-29 12:53     ` David Herrmann
2011-06-27 14:30 ` [PATCH 08/12] HID: wiimote: Add wiimote event handler David Herrmann
2011-06-27 14:30 ` [PATCH 09/12] HID: wiimote: Add wiimote input button parser David Herrmann
2011-06-28  5:52   ` Dmitry Torokhov
2011-06-29 12:43     ` David Herrmann
2011-06-27 14:30 ` [PATCH 10/12] HID: wiimote: Add wiimote led request David Herrmann
2011-06-27 14:30 ` [PATCH 11/12] HID: wiimote: Cache wiimote led state David Herrmann
2011-06-27 14:30 ` [PATCH 12/12] HID: wiimote: Add sysfs support to wiimote driver David Herrmann
2011-07-05 11:45 [PATCH 01/12] HID: wiimote: Add Nintendo Wii Remote driver stub David Herrmann
2011-07-05 11:45 ` [PATCH 05/12] HID: wiimote: Synchronize wiimote input and hid event handling David Herrmann

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=BANLkTimbhk9y8V6ff0FiTsjNQWw6wBXjNA@mail.gmail.com \
    --to=dh.herrmann@googlemail.com \
    --cc=dmitry.torokhov@gmail.com \
    --cc=jkosina@suse.cz \
    --cc=linux-input@vger.kernel.org \
    --cc=oliver@neukum.org \
    --cc=padovan@profusion.mobi \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.