All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Bruno Prémont" <bonbons@linux-vserver.org>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Jiri Kosina <jkosina@suse.cz>,
	linux-input@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-fbdev@vger.kernel.org
Subject: Re: [PATCH 0/7] HID: picoLCD updates
Date: Sat, 18 Aug 2012 13:48:28 +0000	[thread overview]
Message-ID: <20120818154828.0e992bfe@neptune.home> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1208180913440.17394-100000@netrider.rowland.org>

On Sat, 18 August 2012 Alan Stern <stern@rowland.harvard.edu> wrote:
> On Sat, 18 Aug 2012, Bruno Prémont wrote:
> > On Thu, 16 August 2012 Jiri Kosina <jkosina@suse.cz> wrote:
> > > On Thu, 16 Aug 2012, Bruno Prémont wrote:
> > > 
> > > > > I don't really understand this explanation. Once usb_kill_urb() returns, 
> > > > > the URB should be available for future use (and therefore all queues 
> > > > > completely drained).
> > > > 
> > > > I won't have time today to check, though my guess is that on each
> > > > echo $usb-id > bind; echo $usb-id > unbind
> > > > under /sys/bus/hid/drivers/hid-picolcd/ the USB urb queue fills a bit does
> > > > not get cleared.
> > > > 
> > > > Is usb_kill_urb() called when unbinding just the specific hid driver? 
> > > 
> > > Yup, through hid_hw_stop() -> usbhid_stop().
> > > 
> > > > If so my short timing between bind/unbind must be triggering something 
> > > > else...
> > > > 
> > > > Otherwise I'm missing something as at first time I got no "output queue full"
> > > > messages, but as I repeated the bind/unbind sequences the prints per bind/unbind
> > > > iteration increased in number.
> > > > 
> > > > Anyhow, on Friday evening/week-end I will continue digging and report back with my
> > > > findings.
> > 
> > Huh, after changing some of the hid-picolcd data in order to have less racy
> > coupling between hid and framebuffer I'm now dying way too often in _mmx_memcpy
> > and most of the time I don't get a (complete) trace...
> 
> There was a similar problem reported recently.  It turned out to be 
> caused by a __devinitconst annotation attached to a usb_device_id 
> table.
> 
> If there are any __devinit* annotations in the hid-picolcd driver, you 
> should see if removing them helps.

There is no such annotation around in hid-picolcd.


One thing I just though about, how does usbhid handle the calls to
usbhid_submit_report() when hid_hw_stop()/hid_hw_close() have already
been called?
I will attempt to see if it makes a difference to shortcut my
usbhid_submit_report() calls from the point on I have called hid_hw_close()...

Bruno

WARNING: multiple messages have this Message-ID (diff)
From: "Bruno Prémont" <bonbons@linux-vserver.org>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Jiri Kosina <jkosina@suse.cz>,
	linux-input@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-fbdev@vger.kernel.org
Subject: Re: [PATCH 0/7] HID: picoLCD updates
Date: Sat, 18 Aug 2012 15:48:28 +0200	[thread overview]
Message-ID: <20120818154828.0e992bfe@neptune.home> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1208180913440.17394-100000@netrider.rowland.org>

On Sat, 18 August 2012 Alan Stern <stern@rowland.harvard.edu> wrote:
> On Sat, 18 Aug 2012, Bruno Prémont wrote:
> > On Thu, 16 August 2012 Jiri Kosina <jkosina@suse.cz> wrote:
> > > On Thu, 16 Aug 2012, Bruno Prémont wrote:
> > > 
> > > > > I don't really understand this explanation. Once usb_kill_urb() returns, 
> > > > > the URB should be available for future use (and therefore all queues 
> > > > > completely drained).
> > > > 
> > > > I won't have time today to check, though my guess is that on each
> > > > echo $usb-id > bind; echo $usb-id > unbind
> > > > under /sys/bus/hid/drivers/hid-picolcd/ the USB urb queue fills a bit does
> > > > not get cleared.
> > > > 
> > > > Is usb_kill_urb() called when unbinding just the specific hid driver? 
> > > 
> > > Yup, through hid_hw_stop() -> usbhid_stop().
> > > 
> > > > If so my short timing between bind/unbind must be triggering something 
> > > > else...
> > > > 
> > > > Otherwise I'm missing something as at first time I got no "output queue full"
> > > > messages, but as I repeated the bind/unbind sequences the prints per bind/unbind
> > > > iteration increased in number.
> > > > 
> > > > Anyhow, on Friday evening/week-end I will continue digging and report back with my
> > > > findings.
> > 
> > Huh, after changing some of the hid-picolcd data in order to have less racy
> > coupling between hid and framebuffer I'm now dying way too often in _mmx_memcpy
> > and most of the time I don't get a (complete) trace...
> 
> There was a similar problem reported recently.  It turned out to be 
> caused by a __devinitconst annotation attached to a usb_device_id 
> table.
> 
> If there are any __devinit* annotations in the hid-picolcd driver, you 
> should see if removing them helps.

There is no such annotation around in hid-picolcd.


One thing I just though about, how does usbhid handle the calls to
usbhid_submit_report() when hid_hw_stop()/hid_hw_close() have already
been called?
I will attempt to see if it makes a difference to shortcut my
usbhid_submit_report() calls from the point on I have called hid_hw_close()...

Bruno
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: "Bruno Prémont" <bonbons@linux-vserver.org>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Jiri Kosina <jkosina@suse.cz>, <linux-input@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <linux-fbdev@vger.kernel.org>
Subject: Re: [PATCH 0/7] HID: picoLCD updates
Date: Sat, 18 Aug 2012 15:48:28 +0200	[thread overview]
Message-ID: <20120818154828.0e992bfe@neptune.home> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1208180913440.17394-100000@netrider.rowland.org>

On Sat, 18 August 2012 Alan Stern <stern@rowland.harvard.edu> wrote:
> On Sat, 18 Aug 2012, Bruno Prémont wrote:
> > On Thu, 16 August 2012 Jiri Kosina <jkosina@suse.cz> wrote:
> > > On Thu, 16 Aug 2012, Bruno Prémont wrote:
> > > 
> > > > > I don't really understand this explanation. Once usb_kill_urb() returns, 
> > > > > the URB should be available for future use (and therefore all queues 
> > > > > completely drained).
> > > > 
> > > > I won't have time today to check, though my guess is that on each
> > > > echo $usb-id > bind; echo $usb-id > unbind
> > > > under /sys/bus/hid/drivers/hid-picolcd/ the USB urb queue fills a bit does
> > > > not get cleared.
> > > > 
> > > > Is usb_kill_urb() called when unbinding just the specific hid driver? 
> > > 
> > > Yup, through hid_hw_stop() -> usbhid_stop().
> > > 
> > > > If so my short timing between bind/unbind must be triggering something 
> > > > else...
> > > > 
> > > > Otherwise I'm missing something as at first time I got no "output queue full"
> > > > messages, but as I repeated the bind/unbind sequences the prints per bind/unbind
> > > > iteration increased in number.
> > > > 
> > > > Anyhow, on Friday evening/week-end I will continue digging and report back with my
> > > > findings.
> > 
> > Huh, after changing some of the hid-picolcd data in order to have less racy
> > coupling between hid and framebuffer I'm now dying way too often in _mmx_memcpy
> > and most of the time I don't get a (complete) trace...
> 
> There was a similar problem reported recently.  It turned out to be 
> caused by a __devinitconst annotation attached to a usb_device_id 
> table.
> 
> If there are any __devinit* annotations in the hid-picolcd driver, you 
> should see if removing them helps.

There is no such annotation around in hid-picolcd.


One thing I just though about, how does usbhid handle the calls to
usbhid_submit_report() when hid_hw_stop()/hid_hw_close() have already
been called?
I will attempt to see if it makes a difference to shortcut my
usbhid_submit_report() calls from the point on I have called hid_hw_close()...

Bruno

  reply	other threads:[~2012-08-18 13:48 UTC|newest]

Thread overview: 102+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-30 19:36 [PATCH 0/7] HID: picoLCD updates Bruno Prémont
2012-07-30 19:36 ` Bruno Prémont
2012-07-30 19:38 ` [PATCH 1/7] HID: picoLCD: split driver code Bruno Prémont
2012-07-30 19:59   ` Bruno Prémont
2012-07-30 19:59     ` Bruno Prémont
2012-07-30 19:38 ` [PATCH 2/7] HID: picoLCD: Replace own refcounting with fbdev's Bruno Prémont
2012-07-30 19:38   ` Bruno Prémont
2012-07-30 19:38 ` [PATCH 3/7] HID: picoLCD: prevent NULL pointer dereference on unplug Bruno Prémont
2012-07-30 19:38   ` Bruno Prémont
2012-07-30 19:38 ` [PATCH 4/7] HID: picoLCD: satify some checkpatch warnings Bruno Prémont
2012-07-30 19:38   ` Bruno Prémont
2012-07-30 19:38 ` [PATCH 5/7] HID: picoLCD: Improve unplug handling Bruno Prémont
2012-07-30 19:38   ` Bruno Prémont
2012-07-30 19:38 ` [PATCH 6/7] HID: picoLCD: disable version check during probe Bruno Prémont
2012-07-30 19:38   ` Bruno Prémont
2012-08-15  8:15   ` Jiri Kosina
2012-08-15  8:15     ` Jiri Kosina
2012-08-19 16:56     ` [PATCH 6/7 v2] HID: picoLCD: drop " Bruno Prémont
2012-08-19 16:56       ` Bruno Prémont
2012-08-19 16:56       ` Bruno Prémont
2012-09-17 18:21       ` Bruno Prémont
2012-09-17 18:21         ` Bruno Prémont
2012-09-17 18:21         ` Bruno Prémont
2012-09-19 11:45         ` Jiri Kosina
2012-09-19 11:45           ` Jiri Kosina
2012-09-19 11:45           ` Jiri Kosina
2012-07-30 19:39 ` [PATCH 7/7] HID: picoLCD: add myself to MAINTAINERS Bruno Prémont
2012-07-30 19:39   ` Bruno Prémont
2012-07-31  7:26 ` [PATCH 0/7] HID: picoLCD updates David Herrmann
2012-07-31  7:26   ` David Herrmann
2012-07-31  7:26   ` David Herrmann
2012-07-31  7:59   ` Bruno Prémont
2012-07-31  7:59     ` Bruno Prémont
2012-08-09 18:09 ` Bruno Prémont
2012-08-09 18:09   ` Bruno Prémont
2012-08-13 23:27   ` Tejun Heo
2012-08-13 23:27     ` Tejun Heo
2012-08-13 23:27     ` Tejun Heo
2012-08-14  6:30     ` Bruno Prémont
2012-08-14  6:30       ` Bruno Prémont
2012-08-14  6:30       ` Bruno Prémont
2012-08-14 17:31       ` Tejun Heo
2012-08-14 17:31         ` Tejun Heo
2012-08-14 17:31         ` Tejun Heo
2012-08-15  8:27 ` Jiri Kosina
2012-08-15  8:27   ` Jiri Kosina
2012-08-15  8:27   ` Jiri Kosina
2012-08-15  9:42   ` Bruno Prémont
2012-08-15  9:42     ` Bruno Prémont
2012-08-15  9:42     ` Bruno Prémont
2012-08-15 12:11     ` Jiri Kosina
2012-08-15 12:11       ` Jiri Kosina
2012-08-15 12:11       ` Jiri Kosina
2012-08-15 15:16       ` Bruno Prémont
2012-08-15 15:16         ` Bruno Prémont
2012-08-15 21:32         ` Jiri Kosina
2012-08-15 21:32           ` Jiri Kosina
2012-08-15 21:32           ` Jiri Kosina
2012-08-16 16:30           ` Bruno Prémont
2012-08-16 16:30             ` Bruno Prémont
2012-08-16 16:30             ` Bruno Prémont
2012-08-16 16:47             ` Jiri Kosina
2012-08-16 16:47               ` Jiri Kosina
2012-08-18 12:40               ` Bruno Prémont
2012-08-18 12:40                 ` Bruno Prémont
2012-08-18 13:19                 ` Alan Stern
2012-08-18 13:19                   ` Alan Stern
2012-08-18 13:19                   ` Alan Stern
2012-08-18 13:48                   ` Bruno Prémont [this message]
2012-08-18 13:48                     ` Bruno Prémont
2012-08-18 13:48                     ` Bruno Prémont
2012-08-18 18:49                     ` Bruno Prémont
2012-08-18 18:49                       ` Bruno Prémont
2012-08-18 18:49                       ` Bruno Prémont
2012-08-19  0:11                     ` Alan Stern
2012-08-19  0:11                       ` Alan Stern
2012-08-19  0:11                       ` Alan Stern
2012-08-19 16:23                       ` Bruno Prémont
2012-08-19 16:23                         ` Bruno Prémont
2012-08-19 16:23                         ` Bruno Prémont
2012-08-19 19:56                         ` Alan Stern
2012-08-19 19:56                           ` Alan Stern
2012-08-19 19:56                           ` Alan Stern
2012-08-19 17:28 ` [PATCH 0/6] HID: picoLCD additional fixes + CIR support Bruno Prémont
2012-08-19 17:28   ` Bruno Prémont
2012-08-19 17:31   ` [PATCH 1/6] HID: picoLCD: prevent NULL pointer dereferences Bruno Prémont
2012-08-19 17:31     ` Bruno Prémont
2012-08-19 17:32   ` [PATCH 2/6] HID: picoLCD: rework hid-fbdev interaction Bruno Prémont
2012-08-19 17:32     ` Bruno Prémont
2012-08-19 17:32     ` Bruno Prémont
2012-08-19 17:32   ` [PATCH 3/6] HID: picoLCD: Add support for CIR Bruno Prémont
2012-08-19 17:32     ` Bruno Prémont
2012-09-14 14:15     ` Mauro Carvalho Chehab
2012-09-14 14:15       ` Mauro Carvalho Chehab
2012-08-19 17:33   ` [PATCH 4/6] HID: picoLCD: optimize for inactive debugfs Bruno Prémont
2012-08-19 17:33     ` Bruno Prémont
2012-08-19 17:33   ` [PATCH 5/6] HID: picoLCD: fix dumping of IR_DATA report Bruno Prémont
2012-08-19 17:33     ` Bruno Prémont
2012-08-19 17:33   ` [PATCH 6/6] HID: picoLCD: use proper device as input_dev parent Bruno Prémont
2012-08-19 17:33     ` Bruno Prémont
2012-09-05  9:50   ` [PATCH 0/6] HID: picoLCD additional fixes + CIR support Jiri Kosina
2012-09-05  9:50     ` Jiri Kosina

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=20120818154828.0e992bfe@neptune.home \
    --to=bonbons@linux-vserver.org \
    --cc=jkosina@suse.cz \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stern@rowland.harvard.edu \
    /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.