Oliver Neukum wrote:
>>>I agree. But usbcore should help as far as possible.
>>
>>What were you thinking would transform the "device model" level
>>suspend/resume calls into USB level ones? :)
>
> OK, but where do we handle the case where resumption is impossible
> because the device has been unplugged ?
If that's not already handled, it'd be a bug in the hub driver.
>>>>For example, suspending a bus-powered hub would need to morph into
>>>>disconnecting the devices it could no longer power ... and in your
>>>>case, suspending a network device that discards its firmware would
>>>>also need to morph into a disconnect.
>>>
>>>That's exactly what you must _not_ do, you need to retain the information
>>>which devices was on which port to resume correctly.
>>
>>Why would that be? In those cases, the device MUST re-enumerate from
>>scratch, there will be no USB state to resume. In those cases the
>>devices can't suspend; they can only disconnect/reconnect.
>>
>>And it'd be pointless, since if any device driver wants to save
>>information about devices across reconnects -- like usb-storage does
>>today -- it has all the tools it needs to do that already. There's
>>no need to bloat the core with such stuff.
>
>
> That is not the entire truth.
> The hub will be told to resume first. If we than scan the physical bus
> and initiate initialisation of the devices found, there'll be chaos
> once the "driverfs" layer tells devices to resume.
You said "initiate initialisation"; that's normally called "enumeration".
Which by definition is NOT done for a USB device being resumed!!!!
>>Given that userspace tools can already be used to make network device
>>names be pseudo-stable ("eth2" is always the one with address NN), and
>>network drivers can even request specific names ("eth3") I don't see
>>any reason any network device driver should want such functionality.
>
>
> How about keeping up connections ?
If that happens, it's a bonus.
> The point of suspend/resume cycles is that the system is restored
> to the state it had. IP, mac, filtering etc... must be restored, not only names.
Then there's always reality to deal with. Like when a network link gets
removed during suspend.
> In fact, if we have persistent names we don't need to care about names.
Erm, that doesn't make sense. Having them persistent means someone is
caring a heck of a lot about names and assignment policies.
- Dave
_______________________________________________________________
Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel