Re: [linux-usb-devel] Re: [OOPS, usbcore, releaseintf] 2.6.0-test10-mm1

From: Alan Stern
Date: Mon Dec 08 2003 - 13:37:51 EST


On Mon, 8 Dec 2003, Duncan Sands wrote:

> Hi Alan, this is for usbfs, not a normal driver. Recall that I want to replace
> use of ps->devsem with ps->dev->serialize.

Maybe you shouldn't do that. Other drivers maintain their own data
structure separately from the struct usb_device and with its own lock.
But usbfs may suffer from complications as a result of its unorthodox
approach to device ownership.

> Currently ps->dev is set to NULL in
> the devio.c usbfs disconnect method (if some interface is claimed) or in
> inode.c on device disconnect, making it hard to lock with ps->dev->serialize :)
> Thus disconnect should no longer be signalled by setting ps->dev to NULL.

If you would keep the ps->devsem lock, would there be any problem in
setting ps->dev to NULL to indicate disconnection?

Are they any reasons for not keeping ps->devsem? Since usbfs generally
acts as a driver and drivers generally don't have to concern themselves
with usbdev->serialize (the core handles it for them), shouldn't usbfs
also be able to ignore ps->dev->serialize?

Alan Stern

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/