From: Stefani Seibold <stefani@seibold.net>
To: Alan Stern <stern@rowland.harvard.edu>
Cc: Greg KH <gregkh@linuxfoundation.org>,
linux-kernel@vger.kernel.org, oneukum@suse.de,
alan@lxorguk.ukuu.org.uk, linux-usb@vger.kernel.org
Subject: Re: [PATCH 04/11] remove usb_interface pointer
Date: Thu, 07 Jun 2012 17:03:43 +0200 [thread overview]
Message-ID: <1339081423.13015.8.camel@wall-e> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1206071026160.1311-100000@iolanthe.rowland.org>
Am Donnerstag, den 07.06.2012, 10:28 -0400 schrieb Alan Stern:
> On Thu, 7 Jun 2012, Stefani Seibold wrote:
>
> > I tried to implement your idea to kick away the usb_device pointer, but
> > i think it is impossible. The skel_delete() function needs the
> > usb_device pointer for calling usb_put, which is called from
> > skel_disconnect() or skel_release().
>
> Does skel_delete() really need to call usb_put_dev()? I suspect that
> the driver doesn't need to take a reference to either the device or the
> interface.
>
I think it will be needed, since usb core will decrement the reference
when the device go away. Lock every access to the usb core if a tedious
thing and will waste a lot of code.
The problem with hotpluging is not the plug, it is the unplug, which can
happen any time.
BTW: An interface have no reference count.
> > A call of interface_to_usbdev(dev->intf) results in a udev pointer, but
> > this pointer is only valid if it was called trough kref_put() from
> > skel_disconnect().
> >
> > For an already opened devices, the call will come from skel_release()
> > and in this case the interface pointer could be already owned by an
> > other driver and no more longer handle by the skeleton driver.
> >
> > So i think we need both.
>
> If skel_delete is changed then we don't need the usb_device pointer.
>
I have no idea how to do this. Every USB driver i know stores the
usb_device pointer.
Maybe you have an idea?
Steffi
next prev parent reply other threads:[~2012-06-07 15:03 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-06 16:27 [PATCH] fix usb skeleton driver stefani
2012-06-06 16:27 ` [PATCH 01/11] fix wrong label in skel_open stefani
2012-06-06 18:52 ` Oliver Neukum
2012-06-06 19:59 ` Stefani Seibold
2012-06-06 16:27 ` [PATCH 02/11] code cleanup stefani
2012-06-06 18:57 ` Oliver Neukum
2012-06-06 16:27 ` [PATCH 03/11] remove dead code stefani
2012-06-06 16:27 ` [PATCH 04/11] remove usb_interface pointer stefani
2012-06-06 18:59 ` Oliver Neukum
2012-06-06 20:04 ` Stefani Seibold
2012-06-06 20:19 ` Alan Stern
2012-06-06 22:54 ` Greg KH
2012-06-07 8:07 ` Stefani Seibold
2012-06-07 11:51 ` Stefani Seibold
2012-06-07 14:28 ` Alan Stern
2012-06-07 15:03 ` Stefani Seibold [this message]
2012-06-07 15:27 ` Alan Stern
2012-06-07 19:50 ` Stefani Seibold
2012-06-07 20:42 ` Alan Stern
2012-06-08 7:18 ` RFC: remove usb_device pointer from usb_skeleton.c Stefani Seibold
2012-06-08 8:28 ` Oliver Neukum
2012-06-08 13:46 ` Alan Stern
2012-06-06 16:27 ` [PATCH 05/11] remove unneeded forward declaration stefani
2012-06-06 16:27 ` [PATCH 06/11] introduce fsync function stefani
2012-06-06 16:27 ` [PATCH 07/11] remove pr_err() noise in skel_open stefani
2012-06-06 16:27 ` [PATCH 08/11] Handle a non blocking read without blocking stefani
2012-06-06 16:27 ` [PATCH 09/11] Synchronize disconnect() handler with open() and release(), to fix races stefani
2012-06-06 16:27 ` [PATCH 10/11] Introduce single user mode stefani
2012-06-06 16:27 ` [PATCH 11/11] Bump version number and add aditional author stefani
2012-06-06 16:55 ` [PATCH] fix usb skeleton driver Alan Stern
2012-06-06 17:53 ` Stefani Seibold
2012-06-06 18:16 ` Alan Stern
2012-06-06 20:19 ` Stefani Seibold
2012-06-06 20:22 ` Alan Stern
2012-06-07 8:13 ` Stefani Seibold
2012-06-07 7:10 ` Bjørn Mork
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=1339081423.13015.8.camel@wall-e \
--to=stefani@seibold.net \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=oneukum@suse.de \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox